我无法弄清楚为什么在运行针对office365的脚本时,powershell不会捕获错误(Exchange online)。我每次都会收到原始错误消息,尽管我尝试使用try和catch块。
Foreach ($groups in $groups)
{
try
{
Add-DistributionGroupMember "$Groups" -Member "$UserName" -BypassSecurityGroupManagerCheck -ErrorAction Stop
#write-host "Added user $userName to $Groups";
}
Catch
{
Write-Output "`t $userName is already a member of $Groups."
}
}
答案 0 :(得分:0)
这里有同样的问题。我们看到了错误块,但没有看到catch中的自定义错误消息。
我需要陷阱当用户无法添加(找不到用户)或任何其他特定错误并将这些帐户转储到CSV文件时...
编辑: 当然,我发布这个的那一刻,我找到答案...添加-ErrorAction STOP使其正常工作,否则它只是显示消息,我猜不会返回错误代码...实际的消息可以使用此Catch捕获
Catch{
Echo $User $_.exception.Message
}