Exchange 2010 Administration and Troubleshooting

This page contains information about issues that have been identified and if possible addressed during the Exchange 2010 project as well as some items that can be used for troubleshooting Exchange problems


Some links to support articles and various blog posts about the potential issues that can be encountered for Activesync users

[+] Client

[+] Server

[+] HA/Failover

Powershell Commands

Mailbox Migration

Some useful powershell one liners used during the migration
  • Grab the members of a AD group, get their mailboxes, then create new move requests for each mailbox. The '-WhatIf' is there if you want to test the command without actually doing anything. Make sure that you remove '-WhatIf' when you really want to run the command
    (Get-Group -Identity <GroupName>).Members | Get-Mailbox | New-MoveRequest -BadItemLimit 20 -DomainController <SomeDomainController> -TargetDatabase <SomeDatabase> -WhatIf
  • Simple command to look at some move request statistics
    Get-MoveRequest -ResultSize Unlimited | Get-MoveRequestStatistics | ft -AutoSize
  • The command above is less useful if you have a huge amount of moves going on. This command will show you just moves in progress
    Get-MoveRequest -ResultSize Unlimited | Where-Object {(($_.Status -eq "InProgress") -or ($_.Status -eq "CompletionInProgress"))} | Get-MoveRequestStatistics | ft -AutoSize
    Get-MoveRequest -ResultSize Unlimited | Where-Object {(($_.Status -eq "InProgress") -or ($_.Status -eq "CompletionInProgress"))} | Get-MoveRequestStatistics | Select DisplayName,Status,PercentComplete,SourceDatabase,TargetDatabase | Sort-Object -Property TargetDatabase | ft -AutoSize

Message Tracking Logs

Export Tracking Logs

  • Sample of a command that can be used to dump out the message tracking logs. You just need to modify the first part of the command to gather the infomation that you actually want
    Get-Messagetrackinglog -Sender "some.user@domain.com" -Server "server.domain.com" -Start "4/17/2013 12:53:00 AM" -End "4/18/2013 12:03:00 AM" | Select Timestamp,Eventid,Source,Sourcecontext,Messageid,Messagesubject,Sender,{$_.Recipients},Internalmessageid,Clientip,Clienthostname,Serverip,Serverhostname,Connectorid,{$_.RecipientStatus},Totalbytes,Recipientcount,Returnpath,Messageinfo | Export-CSV -Path SomePath.csv

[+] Search and/or Delete Mail

Useful Links

Active Directory

Client Access Server

Database Availibity Group

Hub Transport

Threat Management Gateway

Show php error messages