使用Powershell查询域控制器对象

有人可以向我解释为什么这不起作用吗?

Import-Module ActiveDirectory $dcs = Get-ADComputer -Filter {DistinguishedName -Like "*Domain Controllers*"} 

我没有得到这个查询的结果。

或者,有人可能会提出一种使用上面的模块的方式,我可以生成我的域名系统列表不是域控制器(这是我最终试图实现)。

干杯

它看起来像一个bug。 类操作符不适用于所有属性。 它不能与DistinguishedName,SID,ObjectClass一起使用,但它可以与Name,DSNHostName,SamAccountName一起使用…

以下命令将为您提供所有域控制器:

PS C:> Get-ADComputer -SearchBase“OU =域控制器,DC =testing,DC =本地”-Filter *

这个命令会给你所有不是域控制器的计算机:

PS C:> Get-ADComputer -LDAPfilter“(&(objectCategory = Computer)(!userAccountControl:1.2.840.113556.1.4.803:= 8192))”

由于所有域控制器在升级服务器时最终都应该在AD的“域控制器”OU中,为什么不尝试:

 $dcs = Get-ADComputer -SearchRoot "MYDOMAIN/Domain Controllers" -SearchScope onelevel 

我想这是你在上面试图做的。 另外请注意,这不是一个确定的方式来find域控制器。 理想情况下,您应该通过成员typessearch。

 $dcs = get-ADComputer -SearchRoot "MYDOMAIN" -SearchScope subtree -filter {ComputerRole -eq "DomainController" } 

这应该find任何任性DC的:)

顺便说一句,我没有成功花30分钟试图安装AD模块 – 它显然是一个“2008年新的R2”的东西,并且是一个完整的PITA,如果你没有一个2008R2机器方便:)我已经使用Quest公元pipe理工具来devise答案 – 论据是相同的…