Exchange Online の PowerShell で警告出力を取得する方法

Exchange Online の PowerShell では以下のように警告が出力されることがあります。

この警告の内容をスクリプトで取得するには、各コマンドに用意されている WarningVariable パラメーターを使用します。

$Warn = ""
Set-Mailbox ExoUser01 -WarningVariable Warn

こうすると、WarningVariable に指定した変数を参照することで警告出力の内容を取得できます。


以下は補足です。以前は Exchange Online への接続が Remote PowerShell になっており、その時はこの方法では Exchange Online PowerShell の警告出力は取得できませんでした。当時はコマンド自体を Invoke-Command で実行して、WarningVariable で取得する必要がありました。例えば以下のようになります。

$warn = ""
Invoke-Command -Command {Get-Mailbox -ResultSize 1} -Session:(Get-PSSession) -WarningVariable warn

現在は Exchange Online への接続が REST になっているため、この方法は使用できません。