Powershellコマンドが成功したかどうかを確認することはできますか?
例:
Set-CASMailbox -Identity:blocks.5 -OWAMailboxPolicy "DoNotExists"
エラーの原因:
Outlook Web App mailbox policy "DoNotExists" wasn't found. Make sure you typed the policy name correctly.
+ CategoryInfo : NotSpecified: (0:Int32) [Set-CASMailbox], ManagementObjectNotFoundException
+ FullyQualifiedErrorId : 9C5D12D1,Microsoft.Exchange.Management.RecipientTasks.SetCASMailbox
FullyQualifiedErrorIdを取得することは可能だと思うので、次のことを試しました。
$ test = Set-CASMailbox -Identity:blocks.5 -OWAMailboxPolicy "DoNotExists"
しかし、エラーはテスト変数に転送されていないようです。
したがって、ここで次のようなことを実行する正しい方法は何ですか?
$test = Set-CASMailbox -Identity:blocks.5 -OWAMailboxPolicy "DoNotExists"
if ($test -eq "error")
{
Write-Host "The Set-CASMailbox command failed"
}
else
{
Write-Host "The Set-CASMailbox command completed correctly"
}
読んだ - Set-CASMailbox
参照 :
OwaMailboxPolicy
パラメータ:
OwaMailboxPolicy
パラメーターは、メールボックスのOutlook on the webメールボックスポリシーを指定します。 Outlook on the webメールボックスポリシーを一意に識別する任意の値を使用できます。例えば:
- 名前
- 識別名(DN)
- GUID
デフォルトのOutlook on the webメールボックスポリシーの名前はDefaultです。
Set-CASMailbox
ケース)。about_CommonParameters (任意のコマンドレットで使用できるパラメーター)を読み取り、ErrorVariable
またはErrorAction
を適用します。
ErrorVariable
:
Set-CASMailbox -Identity:blocks.5 -OWAMailboxPolicy "DoNotExists" -ErrorVariable test
if ($test.Count -neq 0) ### $test.GetType() is always ArrayList
{
Write-Host "The Set-CASMailbox command failed: $test"
}
else
{
Write-Host "The Set-CASMailbox command completed correctly"
}
ErrorAction
およびTry、Catch、Finally(read about_Try_Catch_FinallyTry、Catch、Finallyブロックを使用してterminationエラーを処理する方法):
try {
Set-CASMailbox -Identity:blocks.5 -OWAMailboxPolicy "DoNotExists" -ErrorAction Stop
### set action preference to force terminating error: ↑↑↑↑↑↑↑↑↑↑↑↑ ↑↑↑↑
Write-Host "The Set-CASMailbox command completed correctly"
}
catch {
Write-Host "The Set-CASMailbox command failed: $($error[0])" -ForegroundColor Red
}
いずれにせよ、有害な書き込みと見なされる書き込みホストを読み取ります。