我有一个关于 Powershell 异常的问题。由于某种原因,他们没有被抓住。
Try {
Add-ADGroupMember -Identity $GroupToModify.ObjectGUID -Members $user
} Catch [ADIdentityNotFoundException] {
#message goes here
}
Run Code Online (Sandbox Code Playgroud)
当尝试从不同的域添加用户时,它会输出:
Get-ADUser : Cannot find an object with identity: 'CN=user,OU=users,
OU=J2,OU=sites,DC=asia,DC=domain,DC=com' under: 'DC=europe,
DC=domain,DC=com'.
At myscript.ps1:753 char:14
+ $adMember = Get-ADUser $user
+ ~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (CN=user...s,DC=com:ADUser)
[Get-ADUser], ADIdentityNotFoundException
+FullyQualifiedErrorId :
ActiveDirectoryCmdlet:
Microsoft.ActiveDirectory.Management.ADIdentityNotFoundException,
Microsoft.ActiveDirectory.Management.Commands.GetADUser
Run Code Online (Sandbox Code Playgroud)
你有两个选择。-ErrorAction Stop在您想要触发异常的每个 cmdlet 上使用:
Try {
Add-ADGroupMember -Identity $GroupToModify.ObjectGUID -Members $user -ErrorAction Stop
} Catch [ADIdentityNotFoundException] {
#message goes here
}
Run Code Online (Sandbox Code Playgroud)
或$ErrorActionPreference = "Stop"在 PS 会话开始时指定,以使所有后续 cmdlet 获得相同的结果。
| 归档时间: |
|
| 查看次数: |
8515 次 |
| 最近记录: |