【问题标题】:"Get-ADGroupMember | Get-ADUser" fails for users in different domain“Get-ADGroupMember | Get-ADUser”对于不同域中的用户失败
【发布时间】:2016-06-27 23:42:52
【问题描述】:

运行以下 cmdlet 适用于组成员身份(Amer 域中的组)中的所有用户,无论列出的用户位于哪个域中:

Get-ADGroupMember <group_name> -Server amer

但是,当尝试通过管道到 Get-ADUser 获取用户详细信息时,我收到不同域 (EMEA) 中的用户的错误,然后是组 (AMER):

Get-ADGroupMember <group_name> | Get-ADUser

这是每个用户在不同域中返回的错误(EMEA 域中的错误用户):

Get-ADUser : 从服务器返回了一个引用
在行:1 字符:46
+ 获取-ADGroupMember GBL-Storage-Admin-NAS-L2-U|获取-ADUuser
+ ~~~~~~~~~~
    + CategoryInfo : ResourceUnavailable: (CN=EMASAN-WARNE...C=pfizer,DC=com:ADUser) [Get-ADUser], ADReferralException
    + FullyQualifiedErrorId :从服务器返回了一个引用,Microsoft.ActiveDirectory.Management.Commands.GetADUser

我可以通过指定get-aduser &lt;user&gt; -Server EMEA 来查找每个错误用户,但是当有很多用户时,手动操作会很痛苦。

如何让Get-ADUser 的管道与其他域中的用户一起工作?

【问题讨论】:

标签: powershell active-directory


【解决方案1】:

基本上,如果您想追逐对其他域的引用,您需要查询一个拥有global catalog 的 DC(请参阅here)。持有全局目录的 DC 可以像 this 一样确定:

$gc = Get-ADForest 'example.org' | Select-Object -Expand GlobalCatalogs -First 1

其中example.org 是林根域的 FQDN。

【讨论】:

    【解决方案2】:

    为了清楚起见,目前,本机 cmdlet 不具备此功能。选择全局编录不允许您追逐引荐。如您的链接中所定义--

    全局目录是一个分布式数据存储库,其中包含一个 中每个域中每个对象的可搜索的部分表示 多域 Active Directory 域服务 (AD DS) 林。

    您似乎最终还是得到了一个可以使用的用户对象,因此这是一个很好的解决方法。

    【讨论】:

      【解决方案3】:

      我只是通过检查推荐是什么来解决类似的问题,比如

      try {
          Get-ADUser -Filter {samAccountName -eq "SomeUser"} -SearchBase "DC=other_city,DC=example,DC=com" -Server example.com
      } Catch {
          $_.Exception.Referral
      }
      

      从它的输出中,我得到了我要求的用户的正确服务器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-29
        • 1970-01-01
        • 1970-01-01
        • 2013-11-03
        • 1970-01-01
        相关资源
        最近更新 更多