簡體   English   中英

使用DirectorySearcher在AD搜索中包括主要組

[英]Include primary group in AD search with DirectorySearcher

我需要獲取C#應用程序中特定Active Directory組中所有用戶和聯系人的列表。 使用哪個組是可變的,並隨配置文件更改。

由於System.DirectoryServices.AccountManagement無法處理聯系人,因此我將DirectoryServices API與LDAP查詢一起使用。

我為DirectorySearcher使用以下過濾器:

"(&(memberof:1.2.840.113556.1.4.1941:=" + groupDN +")(objectClass=person))"

groupDN是源組的專有名稱。

這對於普通組來說效果很好,但是應該可以將已配置的組作為任何組,甚至包括“域用戶”。 由於我們的“域用戶”組實際上沒有成員,而是用作主要組,因此當該組為“域用戶”時,上述過濾器將返回0個結果。

我知道您可以使用過濾器搜索主要組成員身份:

(primaryGroupId=513)

但這不能解決類似於域用戶的其他組(如果可以的話,稱為“主要組”)。

還有另一種方法可以將主要小組成員包括在搜索結果中?

primaryGroupId屬性包含組SID的最后一部分(objectSid屬性)。 以下MS文章介紹了用於獲取安全主體的主要組的技術: https : //support.microsoft.com/en-us/help/297951/how-to-use-the-primarygroupid-attribute-to-find-的原色組換

請注意,用於檢索成員資格的鏈式過濾器會從嵌套組中返回您的用戶,但是在包含10K +用戶的域上存在性能問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM