event ids 7001/17106

Issue: event ids 7001/17106
Transport Mail Database: MSExchangeTransport has detected a critical storage error, updated the registry key (SOFTWAREMicrosoftExchangeServerv14TransportQueueDatabase) and as a result, will attempt self-healing after process restart.
The transport service will be stopped. Reason: A failure occurred in a transport database operation.
Resolution:
stopped transport
remove old queue database
restart transport service

Mail started flowing

Configure Automatic Reply for a mailbox via Powershell

Setting Automatic Reply, or Out of Office Message, via Exchange Powershell. Below shows you how to schedule an Automatic Reply, enable it, and disable it.

Enable it (It stays on until its disabled):
Set-MailboxAutoReplyConfiguration -Identity batman -AutoReplyState Enabled -InternalMessage “Internal auto-reply message.” -ExternalMessage “External auto-reply message.”

Scheduled (must use start and end time parameters) :
Set-MailboxAutoReplyConfiguration -Identity batman -AutoReplyState Scheduled -StartTime “7/10/2012 08:00:00” -EndTime “7/15/2012 17:00:00” -InternalMessage “Internal auto-reply message” -ExternalMessage “External auto-reply message”

Disable it:

Set-MailboxAutoReplyConfiguration -Identity batman -AutoReplyState Disabled

Outlook is unable to connect to the proxy server. (Error Code 0)

Scenario:  Users using Microsoft Outlook receive a pop up saying that Outlook is unable to connect to the proxy server. The exact error is:

There is a problem with the proxy server’s security certificate. The name on this security certificate is invalid or does not match the name of the target site mail.domain.com.  

Outlook is unable to connect to the proxy server. (Error Code 0) 

Resolution:  We noticed that the Certificate Principal Name had a invalid value in the Outlook Profile.  In our case it showed a ‘-‘ in the field for ‘Only connect to proxy servers that have this principal name in their certificate:’.  When we ran this command-let in Exchange Shell: Get-Outlook Provider, we saw there was a ‘-‘ for the Server and CertPrincipalName property.  This was causing autodiscover to hand this value out to Outlook Clients.  We resolved by resetting these values to $null:

Set-OutlookProvider EXPR  -server $null -CertPrincipalName $null

Cannot Remove a Move Request in Exchange

Scenario:  Currently a mailbox move has been stuck ‘in progress’.  The database it was moving to is now down or cannot be accessed.  You cannot remove a move request for a mailbox. Running the Remove-moverequest with the -moverequestqueue and -mailboxguid parameters did not work either as suggested by other articles.

Solution:  In ADSI Edit (Default Naming Context mode), locate the user account and right click for properties. Clear the two attributes associated with that user account:   msExchMailboxMoveFlag  &   msExchMailboxMoveStatus




Get Mailbox Folder Statistics that includes Dates of the Oldest and Newest Mail Items

Get-MailboxFolderStatistics rdanie21 -IncludeOldestAndNewestItems  | Sort name | Select Name, Folderpath, ItemsInFolder, FolderSize, OldestItemReceivedDate You want to list the mailbox folders for a mailbox and include the date of the oldest item within that folder.

Run the following:

Get-MailboxFolderStatistics mailbox -IncludeOldestAndNewestItems  | Sort name | Select Name, Folderpath, ItemsInFolder, FolderSize, OldestItemReceivedDate

Perform IIS reset on multiple servers at once.

Perform IIS reset on multiple servers at once. Displays status after reset. 
#Specify servers in an array variable, Make sure you change the where statement.
[array]$servers = get-exchangeserver | where {$_.identity -like “esg*” -and $_.AdminDisplayVersion -match “version 15.0*”}

#Step through each server in the array and perform an IISRESET
#Also show IIS service status after the reset has completed

foreach ($server in $servers)
{
    Write-Host “Restarting IIS on server $server…”
    IISRESET $server
    Write-Host “IIS status for server $server”
    IISRESET $server /status
}
Write-Host “IIS has been restarted on all servers”
OR

#Specify servers in an array variable
[array]$servers = “Server1″,”Server2″,”Server3″,”Server4”
#Step through each server in the array and perform an IISRESET
#Also show IIS service status after the reset has completed
foreach ($server in $servers)
{
    Write-Host “Restarting IIS on server $server…”
    IISRESET $server
    Write-Host “IIS status for server $server”
    IISRESET $server /status
}
Write-Host IIS has been restarted on all servers

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.

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