【问题标题】:Active Directory referral chasing issueActive Directory 引用追逐问题
【发布时间】:2014-03-26 09:42:23
【问题描述】:

也许对 Active Directory 有更多经验的人可以帮助我。 我需要从不同域中的计算机获取操作系统、名称、FQDN 等信息。 我会解释我的意思。 我有根域:example.com,有 2 个子域:xxx.example.com 和 yyy.xxx.example.com

每个域包含 1 台计算机。它们都在一个组中,例如 groupfoo,它们也在不同的 OU 中

我可以获取有关组中成员的信息,我尝试使用 PowerShell 和 dsquery。他们都返回组中计算机的正确列表。但我只能从运行 PowerShell 脚本和 dsquery 的同一域中的计算机获取信息。

需要说明的是,我还有一台不在 groupfoo 中的计算机,这台计算机用于管理 Active Directory。

据我了解,在 Active Directory 中,我们有诸如“推荐追逐”之类的东西。 我读了很多书,据我所知,Power Shell 没有“启用推荐追踪”之类的选项。对于 dsquery,我发现选项 -r 用于递归请求。

我已经尝试过的:

PS> dsquery group -name goupfoo | dsget group -members
"CN=member01,OU=Domain Controllers,DC=xxx,DC=example,DC=com"
"CN=member02,OU=XXX,OU=Domain Controllers,DC=yyy,DC=xxx,DC=example,DC=com"

我的电脑在 DC=yyy,DC=xxx,DC=example,DC=com 我可以从 CN=member02,OU=XXX,OU=Domain Controllers,DC=yyy,DC=xxx,DC=example 获取信息,DC=com

PS > dsquery * -filter "(&(objectClass=Computer)(objectCategory=Computer)(sAMAccountName=member02$))" -attr sAMAccountName operatingSystem
  sAMAccountName    operatingSystem
  member02$        Windows Server 2008 R2 Standard

对 member01 运行相同的命令没有产生任何结果:

PS > dsquery * -filter "(&(objectClass=Computer)(objectCategory=Computer)(sAMAccountName=member01$))" -attr sAMAccountName operatingSystem
PS >

我尝试了不同的 dsquery 变体,我尝试使用 -r key 进行递归,但它不起作用。

也许重要的是,在 "DC=yyy,DC=xxx,DC=example,DC=com" 的设置中,我看到了 "DC=xxx,DC=example,DC=com" 它是“值得信赖的父母” DC=yyy,DC=xxx,DC=example,DC=com" 也许我可以从父域获取信息?

我可以使用 Power Shell Get-ADGroup、Get-ADMember 等获得相同的结果,我尝试使用所有选项、凭据、服务器等。它总是只从与我在同一个域中的一台计算机返回信息。

【问题讨论】:

    标签: powershell active-directory powershell-2.0 dsquery


    【解决方案1】:

    尝试使用DirectorySearcher 对象:

    $filter     = "(&(objectCategory=Computer)(sAMAccountName=$computername))"
    $properties = 'distinguishedName', 'sAMAccountName', ...
    
    $search = New-Object DirectoryServices.DirectorySearcher
    $search.SearchRoot  = New-Object DirectoryServices.DirectoryEntry
    $search.Filter      = $filter
    $search.SearchScope = 'Subtree'
    $search.ReferralChasing = [DirectoryServices.ReferralChasingOption]::All
    $properties | % { $search.PropertiesToLoad.Add($_) } | Out-Null
    
    $search.FindAll()
    

    我不知道ActiveDirectory 模块cmdlet 是否真的支持引荐追踪。

    【讨论】:

      猜你喜欢
      • 2015-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-03
      • 1970-01-01
      相关资源
      最近更新 更多