Configure message throttling for your organization with recipient rate limit of 5000 and message rate limit of 20

Task: Configure message throttling for your organization with recipient rate limit of 5000 and message rate limit of 20
Use this command:
New-ThrottlingPolicy -Name fightspam -RecipientRateLimit 5000 -MessageRateLimit 20  
Now Apply policy to particular mailbox:
Set-Mailbox -Identity user_alias -ThrottlingPolicy fightspam
Use this command to apply to an Organizational Unit:
get-mailbox -OrganizationalUnit ‘domain/OU’ -resultsize unlimited | set-mailbox -Throttling

Policy fightspam

Outlook 2013 slow to connect to exchange server.

Issue: Outlook 2013 slow to connect to exchange server.
Resolution: Enabled diagnostic logging and reviewed the OPMLOG.Log file.
Found this error message; Failed to initialize resource manager (hr = 0x80040401)
Steps to resolution: Closed and reopened Outlook. Still didn’t work
Exit Outlook. Check task manager for outlook.exe and end process
Exit Lync

Restarted Outlook and It worked

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

Setup wizard for Update rollup for Exchange ended prematurely because of an error.

Error: Setup wizard for Update rollup for Exchange ended prematurely because of an error. Your system has
Not been modified.
Synopsis: When you check event viewer, you see this error: Microsoft Exchange Server – Update ‘Update Rollup 6 for Exchange Server 2010 Service Pack 3 (KB2936871) 14.3.195.1’
Could not be installed. Error code 1603.
Resolution:  The recommended process for installing update on a server is by using an elevated command prompt.
Open a CMD with run as administrator and start the installation with this command:

Msiexec  /update  Exchange-KBtest-x64-en.msp

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