2009-02-08 42 views
7

我用下面的代碼獲取一組的成員對我的域名:「域用戶」組是空的,當我使用的DirectoryServices「成員」屬性

Dim de As New DirectoryEntry("LDAP://" & GroupDN) 

    For Each user As String In CType(de.Properties("member"), IEnumerable) 

      GroupCollection.Add(Username, Username) 

    Next 

我的問題是,當GroupDN(該組的專有名稱)是「CN = Domain Users,CN = Users,DC = Mydomain,DC = local」,For ... Each循環不會執行,當我手動檢查Properties語句時,它是計數爲零。這似乎適用於我的域中的所有其他組,但「域用戶」組應包含每個人,並且它似乎不包含任何人。

我已經檢查過,並且該組在Windows AD工具中正確列出了所有人。有什麼顯而易見的,我在這裏失蹤?請注意,是否有更好的方式讓所有的團隊成員?

回答

8

除非您更改用戶的主要組標識,否則該用戶不存儲在域用戶組的成員屬性中,而是使用主要組標識設置爲域用戶RID以確定成員身份在域用戶。正常情況下,Domain Users成員屬性爲空;它會要求您對默認的Active Directory實現進行一些更改,但情況並非如此。

域用戶組使用基於用戶的 「主要組ID」以 確定成員資格的 「計算」機制,並且不 通常存儲成員 多值鏈接的屬性。如果 用戶的主要組被更改,則其 其在域用戶 組中的成員資格被寫入鏈接的 屬性中,並且不計算 的長度。這對於 是真正的Windows 2000,並沒有改變 Windows Server 2003的

Reference

+0

有趣 - 我只是在ADSIEDIT.MSC檢查,它看起來像你說的沒錯 - 沒有用戶在他們的memberof屬性中列出了「域用戶」。如果這是唯一發生的事情,我可以忍受它 - 我只是覺得這很奇怪。 – SqlRyan 2009-02-08 15:08:21

相關問題