When you have a lot of mailboxes to migrate, Microsoft’s provided method of viewing the errors involves a tedious amount of clicking by logging into the portal, selecting Exchange, Migration, View details, scroll down to find a failure, select the user, click view details.
Rather than use the tedious method of going into the details, selecting a user and then viewing details, run the following powershell script (once connected using the previous office365 connection script)
get-migrationuser -status failed | get-migrationuserstatistics | select identity,emailaddress,recipienttype, error,bytestransferred |export-csv c:\temp\migrationstatus.csv
I also have a simple loop that gets me the status once an hour. Obviously change the email address’s appropriately.
$a=(get-migrationuser | out-string)
send-mailmessage -to email@example.com -subject “Company Migration Stats” -from firstname.lastname@example.org -smtpserver my.mailserver.com -body $a
start-sleep -seconds 3600