0

我正在为 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 代码的想法,可以告诉我这个小组的成员有什么问题吗?

谢谢!

4

2 回答 2

3

我遇到了同样的问题。当查看使用“Active Directory 用户和计算机”实用程序失败的组成员时,我得到以下信息;

AD 组成员友好名称警告

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

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

就我而言,我有外国安全主体指向已删除的用户。删除这些成员解决了我的问题。

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

于 2015-04-09T10:31:31.417 回答
1

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

你系统地复制它吗?

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

于 2013-03-14T04:53:11.723 回答