也许对 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 等获得相同的结果,我尝试使用所有选项、凭据、服务器等。它总是只从与我在同一域中的一台计算机返回信息。