Archive
Cannot remove (delete) a SharePoint List reference from Outlook 2010
- Remove reference in Send Recieve Options
- File > Options > Advanced > Send and Recieve : Click Send/Recieve
- Data File account settings and remove the Sharepoint Lists item and the corresponding Data File
- Remove related PST and OBI located in C:\Users\%userprofile%\AppData\Local\Microsoft\Outlook or corresponding folder containing the profile.pst and profile.xmb.obi
- Close and Restart Outlook
Clean-Mailboxdatabase
To refresh the disconnected mailboxes in Exchange 2010 databases – Clean-Mailboxdatabase
For a specific database –
1 |
Get-MailboxDatabase *Dbname* | Clean-mailboxdatabase |
For all Databases –
1 |
Get-MailboxDatabase | Clean-mailboxdatabase |
To refresh the disconnected mailboxes in Exchange 2013 databases – Update-StoreMailboxState
For Specific Database –
1 |
Get-MailboxStatistics -Database “Dbname” | Where { $_.DisconnectReason -ne $null } |ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false } |
For all Databases –
1 |
Get-MailboxDatabase | foreach{Get-MailboxStatistics -Database $_.identity} | Where { $_.DisconnectReason -ne $null } | ForEach { Update-StoreMailboxState -Database $_.Database -Identity $_.MailboxGuid -Confirm:$false } -Verbose |
To See Disconnected Mailboxes in Exchange2010/2013 –
1 |
Get-MailboxDatabase | Get-MailboxStatistics | Where {($_.DisconnectDate -ne $null)} |
To See Disconnected Archive Mailboxes –
1 |
Get-MailboxDatabase | Get-MailboxStatistics | Where {($_.DisconnectDate -ne $null) -and ($_.IsArchiveMailbox -eq $true)} |
Calendarprocessing
AddNewRequestsTentatively applies only to mailboxes that have the Calendar Attendant feature enabled (mailboxes that have AutomateProcessing set to ‘AutoUpdate’). This option causes newly-received meeting requests to appear on the recipient’s calendar as Tentative. However, no message is sent to the meeting organizer to indicate that the recipient accepted the meeting.
TentativePendingApproval applies only to mailboxes that have the Resource Booking feature enabled (mailboxes that have AutomateProcessing set to ‘AutoAccept’). This option is only relevant if the resource has received a meeting request that needs to be approved by a delegate of the resource. Under such circumstances, if TentativePendingApproval is set to ‘true’, then the meeting will be accepted tentatively by the Resource Booking Agent. The meeting organizer will receive a message from the resource indicating Tentative acceptance, and the message will state, “Your request was received and is pending approval.”.
AllBookInPolicy:
True = System to approves or rejects meetings based on avaliability
False = Delegate approves or rejects all meetings (tentative placeholder)
AllRequestInPolicy:
True = Accepts meeting tenatively if avaliable and rejects if unavaliable. Accepted meetings will need to be approved by room delegates unless AllBookInPolicy = True.
False = System will approve if avaliable not accept tenatively if unavaliable
AllRequestOutofPolicy:
True = Allow request out of policy e.g. booking 6 months in advance and will require approval by a room delegate
False = Disallows request out of policy e.g. booking 6 months in advance
NOTEPAD++
Remove before a character (| is used in example):
Find: .+(\|)
Replace: \1
Remove everything between brackets
Fine: <.*?>
Replace:
New line after a character ( ] is used in example):
Find:]\s*
Replace: ]\n
Remove before a character ( < is used in example):
Find: ^[^>]*<
Replace: \1
1 2 3 4 |
[crayon-6078fd32815fe553017176 ]^ : beginning of line [^>] : 1 or more any character that is not a > [^>]* : 1 or more any character that is not a semicolon and everything after [^>]+< : 1 or more any character that is not a > and remove < |
[/crayon]
Remove after a character ( @ is used in example)
Find: [^@]*$
Replace: \1
Remove after a character ( X is used in example)
Find: \X.*
Replace: \1
Add after each line
Find: $
Replace: text to add at end of each line
– RegEX, Place cursor in begging
Add before each line
Find: ^
Replace: text to add at before of each line
– RegEX, Place cursor in begging
Remove string between start and end of a chr.
Find: (?<=CN\=).*?(?=\OU=)
Replace: CN start and OU=
– RegEX, Place cursor in begging
^cn.+?\ou
– RegEX, Place cursor in begging
1 |
[crayon-6078fd3281606407239767 ](?s)^\t*File created by(.|\r\n)*?Message log |
[/crayon]
Notes :
- At beginning of the regex, the modifiers
1(?s-i)
- The
1.
- The search is performed in a sensitive way. If you prefer insensitive matches just change that part with
1(?si)
- The
- Then the part
1File created by.+?\RMessage log1^1\R
- Now, the final part
1.*?$\R1$1\R
And, due to the
1 |
empty |
replacement zone, all that block of text is, then, simply deleted !
1 |
Conference ROOM PS STUFF
1 |
<p>Get-Mailbox -RecipientTypeDetails roommailbox | Get-CalendarProcessing | select-object identity, AddAdditionalResponse, AdditionalResponse, AddNewRequestsTentatively, AddOrganizerToSubject, AllBookInPolicy, AllowConflicts, AllowRecurringMeetings, AllRequestInPolicy, AllRequestOutOfPolicy, AutomateProcessing, BookingWindowInDays, BookInPolicy, Confirm, ConflictPercentageAllowed, DeleteAttachments, DeleteComments, DeleteNonCalendarItems, DeleteSubject, DomainController, EnableResponseDetails, EnforceSchedulingHorizon, ForwardRequestsToDelegates, IgnoreDefaultScope, MaximumConflictInstances, MaximumDurationInMinutes, OrganizerInfo, ProcessExternalMeetingMessages, RemoveForwardedMeetingNotifications, RemoveOldMeetingMessages, RemovePrivateProperty, RequestInPolicy, RequestOutOfPolicy, ResourceDelegates, ScheduleOnlyDuringWorkHours, TentativePendingApproval | Export-CSV -notypeinformation c:\temp\test3.csv</p> |
1 2 |
<p> </p> <p>Get-Mailbox conference@company.com -RecipientTypeDetails roommailbox | Get-CalendarProcessing | select @{Name=’RequestInPolicy’;Expression={[string]::join(";", ($_.RequestInPolicy))}}</p> |
1 |
Get-Mailbox conference@company.com -RecipientTypeDetails roommailbox | Get-CalendarProcessing | select @{Name=’RequestInPolicy’;Expression={[string]::join(";", ($_.RequestInPolicy))}} |
Quarantined or poisioned shared mailboxes
Mailboxes will be automatically quarantined for the following reasons:
- Mailbox threads crashing
- Stuck threads that have not progressed for an excessively long time.
- Corrupt data or email causing store to crash or become unresponsive.
- Corrupt software causing overconsumption of CPU
- Network failure
Outlook clients (MAPI connections) uses multiple threads, when threads get stuck, freezes, or crashes, it causes the Information Store process to consuming more CPU then necessary to service the threads. Quarantining is performed by a background thread, runs every two hours, and checks number of crashes by mailboxes. If it exceeds the normal range, the mailbox is deemed a threat to the overall stability of the store.
A single mailbox with corrupted data could cause Information Store to crash or become unresponsive. If this happens repeatedly, then that would be considered a poison mailbox. The default behavior of Exchange is to quarantine a mailbox if identified as causing a failure or deadlock three times in a two-hour timespan (abnormal).
When a mailbox is quarantined, EventID 10018 will be logged into the application event log and this can be easily picked up by monitoring tools.
If a mailbox gets quarantined, you will see the a entry created here:
- HKLM\SYSTEM\CCS\Services\MSexchangeIS\Servername\Private-dbguid\Quarantined Mailboxes\ {Mailbox GUID}
The keys CrashCount or LastCrashTime will hold the necessary data but these keys will not be created until the store has crashed at least one time by a mailbox.
CrashCount: number of times mailbox has crashed a thread within the Store
LastCrashTime: last time that a mailbox thread crashed within the Store
Remediation:
To make it instant without having to restart the services. You can change the “CrashCount” value to “2” and don’t remove the registry. This makes the mailbox work instantly until time is available outside of production hours is available to remove the key. I do not recommend this unless absolutely necessary, as the underlying problem that caused the Store to quarantine has not been addressed.
Exchange 2010:
Delete the mailbox’s GUID entry from under the QuarrantinedMailboxes registry key and restart the Exchange Information Store.
- Identify the MailboxGUID and Database for affect user
Get-MailboxStatistics <username> | ft DisplayName,Database,MailboxGUID –AutoSize
- Identify GUID of the mailbox database
Get-MailboxDatabase <MailboxDatabase> | ft Name,Guid –AutoSize
- Restart Exchange Information Store:
You can either go through services.msc, or open an elevated command prompt (cmd) and run :
net stop “Microsoft Exchange Information Store”
net start “Microsoft Exchange Information Store”
Additional Information:
Get-MailboxStatistics for a mailbox also has a property to indicate if a mailbox is quarantined.
Get-MailboxStatistics alias | Select DisplayName, IsQuarantined | Format-Table -AutoSize
Use the following command to detect corruption and repair a mailbox
New-MailboxRepairRequest -Mailbox alias -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,FolderView –Archive User: – detectonly instead of -archive (for detect only)
Check Users Outbox for any large, looping, or stranded messages using the following command, but this does not get information for users that are running in cached mode.
Get-mailbox -ResultSize Unlimited| Get-MailboxFolderStatistics
Use the following command to repair a mailbox database:
New-MailboxRepairRequest -Database $Mailbox.Database1 -StoreMailbox $Mailbox.Mailbox1Guid -CorruptionType ProvisionedFolder,SearchFolder,AggregateCounts,Folderview
Circular logging for Windows Fabric on Lync 2013 Servers
We have to run Logman update trace FabricLeaseLayerTraces -f bincirc –cnf to enable circular logging . Please refer the below article for the same
By default the DataDeletionAgeInDays” Value=”3″/> that is what we recommend , I didn’t find any article on the same.
C:\ProgramData\Windows Fabric has ClusterManifest.Xml and Settings.Xml. If you just modify these, they’ll be overwritten when RtcSrv service is restarted.
To do the edit:
- Rename C:\Program Files\Microsoft Lync Server 2013\Server\Core\ClusterManifest.Xml.Template to ClusterManifest.Xml.
- Open Command Prompt as Administrator.
- Open ClusterManifest.Xml in Notepad from Command Prompt.
- Modify the following line (was line 102 on my FE).
- <Parameter Name=”LogDeletionAgeInDays” Value=”1″/>
- Save the file.
Add
- We have to run only one command “Logman update trace FabricTraces -f bincirc –cnf”
- No reboot or server restart is required .
- There is no impact if you delete the old fabric traces.
To confirm the threshold size you can run logman query FabricLeaseLayerTraces on powershell, bydefault the size is 128 MB. So a new file is created once the size is reached to 128MB.
How To Resolve VSS Writer Errors (VShadow)
Troubleshooting:
1) Restart the exchange information store and replication service.
2) Ensure all vss writers are healthy. vssadmin list writers
3) Ensure that if you do a get-mailboxDatabase -status | Fl *backup* that backup in progress shows as false.
Scenario 1: Failed VSS Writers
- There are instances when backups are failing due to an agent’s VSS writers being in a failed state, but it is impossible or not desirable to restart the server until at least after business hours.
Scenario 2: VSS Writers Not Started
- There may also be a writer that is not running and needs to be. Running the command
1vssadmin list writers