无法使用Get-ADGroupMember加载成员但可以使用Get-ADGroup ...为什么?

时间:2013-03-13 16:58:18

标签: powershell active-directory

我正在使用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代码的想法会告诉我这个团队的成员有什么问题吗?

谢谢!

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。使用&#34; Active Directory用户和计算机&#34;查看失败的组成员时实用程序我得到以下内容;

AD Group Member Friendly Name Warning

阅读Get-ADGroupMember的TechNet文档我注意到以下内容;

  

当组中的成员位于a时,此cmdlet不起作用   不同的林,森林没有Active Directory Web   服务正在运行。

在我的情况下,我让外国安全主体指向已被删除的用户。删除这些成员解决了我的问题。

似乎没有任何方法可以告诉cmdlet只返回成员,无论是否有其他详细信息。

答案 1 :(得分:1)

此时您遇到的错误表明底层对象使用的方法(GetADGroupMember)不存在。对我来说问题不在你的目录数据中,而是在你调用它时ActiveDirectory模块的状态。

你是否系统地重现它?

您可以尝试打开一个新的Powershell解释器,导入activedirectory模块并再次测试吗?