目标是获取组成员并忽略 ForeignSecurityPrincipal 帐户(不删除,只是忽略)。该组“zzapsdba_c”具有 ForeignSecurityPrincipal 帐户,导致 get-adgroupmember 出错。注意:我需要一个使用 Microsoft Powershell cmdlet 的解决方案。我已经有了使用 get-qadgroupmember(Quest/dell powershell cmdlet)的替代解决方案,我不想使用它,因为它不是原生的。
我正在使用 powershell,v4.0
这是我失败的代码。
get-adgroupmember zzapsdba_c -server nw
这是错误:
get-adgroupmember :发生了未指定的错误
在行:1 字符:1
+ get-adgroupmember zzapsdba_c -server nw
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (zzapsdba_c:ADGroup) [Get-ADGroupMember], ADException
+ FullQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
最佳答案
您应该能够通过使用获取成员属性并查找这些专有名称来获取组的成员。像这样:
Get-ADGroup -Identity zzapsdba_c -Properties Members -Server nw | Select-Object -ExpandProperty Members | Get-ADObject -Server nw
我倾向于通常使用它,因为除非您更改域 Controller 上的默认 ADWS 配置,否则 Get-AdGroupMember 也可能会遇到包含 1000 多个成员的组的问题。
如果您仍然不想忽略 ForeignSecurityPrincipal 对象,那么这应该可行。
Get-ADGroup -Identity zzapsdba_c -Properties Members -Server nw | Select-Object -ExpandProperty Members | Get-ADObject -Server nw | Where-Object { $_.ObjectClass -ne "ForeignSecurityPrincipal" }
关于PowerShell:获取广告组成员并忽略 ForeignSecurityPrincipals 帐户,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44146741/