我正在使用PowerShell的ActiveDirectory模块,喜欢它让我的生活变得如此简单。
但我在和一个团体斗争。
如果我使用下面的代码,我会得到一个很好的数组,其中包含组中的所有成员(我认为这是所有成员的数组)。看起来是这样的)。
(get-adgroup "VMRCopy" -Properties members).members
但是,如果我使用为此目的设计的小工具,它会失败:
PS>GET-ADGroupMember "VMRCopy"
Get-ADGroupMember : The specified directory service attribute or value does not exist
At line:1 char:18
+ GET-ADGroupMember <<<< "VMRCopy"
+ CategoryInfo : NotSpecified: (VMRCopy:ADGroup) [Get-ADGroupMember], ADException
+ FullyQualifiedErrorId : The specified directory service attribute or value does not exist,Microsoft.ActiveDirect
ory.Management.Commands.GetADGroupMember
我尝试使用第一个方法来查看哪个对象失败了,然后遍历成员并尝试“Get”每个成员,但我没有看到任何错误。
$Mem = (get-adgroup "VMRCopy" -Properties members).members
$Mem | % { Write-Host $_; $t = Get-ADObject $_ }
我看过ADSIEdit,我看过Active Directory管理中心,但我找不到任何看起来很奇怪的东西。
任何人都有任何想法的免费工具或PoSh代码,将告诉我什么是错的,这个组的成员?
谢谢你,谢谢
2条答案
按热度按时间zsbz8rwp1#
我遇到了同样的问题。当查看“Active Directory用户和计算机”实用程序失败的组的成员时,我得到以下信息;
阅读TechNet文档中的Get-ADGroupMember,我注意到以下几点:
当组的成员位于不同的林中,并且该林中没有运行Active Directory Web服务时,此小工具不起作用。
在我的例子中,我有外部安全主体指向已被删除的用户。删除这些成员解决了我的问题。
似乎没有任何方法可以告诉小程序只返回成员,无论是否有额外的细节。
2izufjch2#
此时,您遇到的错误表明基础对象使用的方法(GetADGroupMember)不存在。对我来说,问题不在于你的目录数据,而在于你调用ActiveDirectory模块时它的状态。
你有系统地复制它吗?
你可以尝试打开一个新的Powershell解释器,导入ActiveDirectory模块并再次测试它吗?