【发布时间】:2016-07-26 07:42:56
【问题描述】:
在PowerShell 中,我使用以下LDAP query 来检索主机名的活动目录属性:
$Filter = "(&(ObjectCategory=Computer)(ObjectClass=Computer)(CN=$ComputerName))"
if ($Found = ([ADSISEARCHER]$Filter).FindOne()) {
$Details = $Found.GetDirectoryEntry()
}
拥有这些属性后,我想检查计算机帐户是否被禁用。以下LDAP query 允许我这样做:
$Filter = "(&(objectCategory=computer)(userAccountControl:1.2.840.113556.1.4.803:=2)(CN=$ComputerName))"
([ADSISEARCHER]$Filter).FindOne()
我想知道的是,如果计算机帐户被禁用,我怎样才能避免使用第二个LDAP query 并使用第一个LDAP query 中的变量$Details 来获取$True 或$False?
我找到了一些extra information,但我似乎无法将它们拼凑在一起。
感谢您的帮助。
【问题讨论】:
-
是否需要使用 LDAP 查询,或者您也可以在 powershell 中使用 ActiveDirectory 模块?
-
不,
ActiveDirectory不可用。
标签: powershell active-directory ldap