O-Xchange Notes from the Field!

Tuesday, June 24, 2014

EWS is giving HTTP Status 500's for specific users

Scenario:  You have a user complaining that they cannot access mail through Outlook 2011. When you search the Exchange servers IIS logs, you see a bunch of HTTP 500 responses provided by the Exchange server only for that user.  You also found out that this user is on travel.

Resolution:  Instead of changing the timezone to reflect the area the user was in, the user adjusted the current time.  Changing the timezone to where they were at or adjusting the time back to the current time of the original time zone resolved this issue.

Friday, June 20, 2014

A mailbox receives "The recipient's mailbox is full and can't accept messages now" or "The message store has reached its maximum size."

Scenario: Customer emails a recipient and receives this error message:
The recipient's mailbox is full and can't accept messages now. Please try resending this message later, or contact the recipient directly.#554-5.2.2 mailbox full 554 5.2.2 
STOREDRV.Deliver.Exception:QuotaExceededException.MapiExceptionShutoffQuotaExceeded; Failed to process message due to a permanent exception with message Move/Copy messages failed. 16.55847:4000000 

The sender may also receive the following error message in Outlook: 
The message store has reached its maximum size. To reduce the amount of data in this message store, select some items that you no longer need, permanently (Shift + Del) delete them. 

The sender may also receive the following error message in Outlook Web App: 
The action couldn't be completed. An error occurred on the server.  

Cause: This occurs if the items in the Recoverable Items folder of the recipient have exceeded the default quota of 30 gigabytes (GB).  

Resolution: Administrator needs to increase recoverable items quota for the recipients by using this one liner: set-mailbox -recoverableitemsquota 50GB -UseDatabaseQuotaDefaults $false

Thursday, June 19, 2014

New CMDlet: Clean-MailboxDatabase in Exchange 2013
Command is Update-StoreMailboxState

Examples:
This updates the mailbox state for a mailbox located on the mailbox database DB01
Update-StoreMailboxState -Database DB01 -Identity GUIDof DB
 
This updates the mailbox state for a mailbox located on the mailbox database DB01 with a GUID of 4a830e3f-fd07-4629-baa1-8bce16b85d44.
Update-StoreMailboxState -Database MDB01 -Identity 4a830e3f-fd07-4629-baa1-8bce16b85d44
 
This updates the mailbox state for all disconnected mailboxes on the mailbox database DB01.
Get-MailboxStatistics -Database DB01 | Where { $_.DisconnectReason -ne $null } | ForEach { Update-StoreMailboxState -Database
$_.Database -Identity $_.MailboxGuid -Confirm:$false }

Wednesday, June 18, 2014

Powershell Check to see if mailbox exists

Scenario:  You have a list of mailboxes that you do not know if they still exist or not.  Instead of checking one by one, you can script this.  

In my users.csv I have a header with Name that contains all of the aliases underneath.


$users = Import-csv C:\users.csv
$users | ForEach { $exist = [bool](Get-mailbox $_.name -erroraction SilentlyContinue); Write-host "$Exist $_.Name"}

Thursday, June 12, 2014

Get-ADGroupMember : The size limit for this request was exceeded

Scenario:  You are using PowerShell for Active Directory to export a list of members in a group, but you receive this error:

Get-ADGroupMember : The size limit for this request was exceeded

Work Around:  Run this following command:

$grp = get-adgroup groupname -properties members 
$grp.members | get-aduser | Select Name | Export-csv C:\exports\groupmembers.csv