尝试捕获不适用于 Get-CsUser 命令
Try Catch Not Working for Get-CsUser Command
我已经设置了一个 Try Catch 块来检查 Skype 用户是否存在,命令抛出错误但 Catch 块没有捕获它并显示正确的错误消息。
这是在 Windows PowerShell ISE
中抛出的错误消息后面的代码
try
{
$Output = Get-CsUser -Identity "Chrlis.domain$username"
} Catch
{
If($error[0] -like "*Management object not found for identity*") {
Write-Host "SKYPE LYNC ERROR3: $username does not have a Skype account" -ForegroundColor Red
} Else {
Write-Host "SKYPE LYNC ERROR4:" $Error[0].Exception -ForegroundColor Red
}
}
Management object not found for identity "Chrlis.domain\Jacob.Hal".
+ CategoryInfo : InvalidData: (Chrlis.domain\Jacob.Hal:UserIdParameter) [Get-CsUser], ManagementException
+ FullyQualifiedErrorId : Identity,Microsoft.Rtc.Management.AD.Cmdlets.GetOcsUserCmdlet
+ PSComputerName : pigeon1.Chrlis.domain
如有任何帮助,我们将不胜感激。
您可以修改 -erroractionpreference 参数以静默继续,然后执行 .count() 或 .length() 检查以查看变量和操作中是否确实存在任何适当的内容。
我会提供样板代码,但在移动设备上有点难。
通读一下埃德 post 的文章 --
https://devblogs.microsoft.com/scripting/hey-scripting-guy-how-can-i-use-erroractionpreference-to-control-cmdlet-handling-of-errors/
我已经设置了一个 Try Catch 块来检查 Skype 用户是否存在,命令抛出错误但 Catch 块没有捕获它并显示正确的错误消息。
这是在 Windows PowerShell ISE
中抛出的错误消息后面的代码try
{
$Output = Get-CsUser -Identity "Chrlis.domain$username"
} Catch
{
If($error[0] -like "*Management object not found for identity*") {
Write-Host "SKYPE LYNC ERROR3: $username does not have a Skype account" -ForegroundColor Red
} Else {
Write-Host "SKYPE LYNC ERROR4:" $Error[0].Exception -ForegroundColor Red
}
}
Management object not found for identity "Chrlis.domain\Jacob.Hal".
+ CategoryInfo : InvalidData: (Chrlis.domain\Jacob.Hal:UserIdParameter) [Get-CsUser], ManagementException
+ FullyQualifiedErrorId : Identity,Microsoft.Rtc.Management.AD.Cmdlets.GetOcsUserCmdlet
+ PSComputerName : pigeon1.Chrlis.domain
如有任何帮助,我们将不胜感激。
您可以修改 -erroractionpreference 参数以静默继续,然后执行 .count() 或 .length() 检查以查看变量和操作中是否确实存在任何适当的内容。
我会提供样板代码,但在移动设备上有点难。
通读一下埃德 post 的文章 -- https://devblogs.microsoft.com/scripting/hey-scripting-guy-how-can-i-use-erroractionpreference-to-control-cmdlet-handling-of-errors/