我正在使用PowerShell的ActiveDirectory模块,并喜欢它让我的生活变得多么轻松。
但是,我正在和一个小组斗争。如果我使用下面的代码,我会在组中找到一个很好的所有成员数组(我认为它们都是......看起来像。)
(get-adgroup "VMRCopy" -Properties members).members
但是,如果我使用为此目的设计的cmdlet,则会失败:
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
我试图通过使用第一种方法来查看哪个对象失败,然后遍历成员并尝试“获取”每个对象,但我发现没有错误。
$Mem = (get-adgroup "VMRCopy" -Properties members).members
$Mem | % { Write-Host $_; $t = Get-ADObject $_ }
我查看了ADSIEdit并查看了Active Directory管理中心,但我找不到任何看起来很棘手的内容。
任何人都有任何关于免费工具或PoSh代码的想法会告诉我这个团队的成员有什么问题吗?
谢谢!
答案 0 :(得分:3)
我遇到了同样的问题。使用&#34; Active Directory用户和计算机&#34;查看失败的组成员时实用程序我得到以下内容;
阅读Get-ADGroupMember的TechNet文档我注意到以下内容;
当组中的成员位于a时,此cmdlet不起作用 不同的林,森林没有Active Directory Web 服务正在运行。
在我的情况下,我让外国安全主体指向已被删除的用户。删除这些成员解决了我的问题。
似乎没有任何方法可以告诉cmdlet只返回成员,无论是否有其他详细信息。
答案 1 :(得分:1)
此时您遇到的错误表明底层对象使用的方法(GetADGroupMember)不存在。对我来说问题不在你的目录数据中,而是在你调用它时ActiveDirectory模块的状态。
你是否系统地重现它?
您可以尝试打开一个新的Powershell解释器,导入activedirectory模块并再次测试吗?