2017-06-16 67 views
0

我從Active Directory中提取用戶列表,但是我想通過名稱「ServiceAccounts」跳過特定的組織單元。我的理解是,下面的行不會解決我的問題,作爲通配符不與DN工作:如何在從Active Directory獲取用戶列表時跳過特定的組織單元(OU)

search.Filter = "(&(objectCategory=person)(objectClass=user)(!(distinguishedName=*ServiceAccounts*))(mail=*))"; 

此OU包含的這些而產生的員工列表我不需要周圍150+服務帳戶列表。我唯一的問題,如何不從特定的OU獲取記錄?

謝謝,非常感謝!

回答

0

在LDAP中,通常不允許在DN值內進行子字符串搜索。

Microsoft Active Directory的具體the wildcard character cannot be used with Distinguished Name attributes (attributes of data type DN), such as the distinguishedName, memberOf, directReports, and managedBy attributes.

而作爲微軟的Active Directory只supports specific Extensible Match規則,我不相信這是可能的。

此外,默認情況下,「OU」值將不會填充到用戶的條目,或者您可能能夠使用:

(!(ou=ServiceAccounts)) 

中的過濾器。

一些編程環境出現support a non-standard語法:

(&(objectClass=user)(!(distinguishedName:=%ServiceAccounts%))) 

或許提供有關您的樹結構有人能提供解決方案的更多信息。

相關問題