2010-10-19 70 views
0

我試圖讓所有的用戶和他們相關聯基團從的Active Directory服務器,使用LDAP查詢。顯然,活動目錄不給我主要的用戶羣。例如,該搜索:LDAP:如何讓所有的用戶和組從Active Directory

(objectclass=user) 

產生這樣的結果:

# Test User, Users, sub.domain.net 
dn: CN=Test User,CN=Users,DC=sub,DC=domain,DC=net 
.... 
memberOf: CN=Domain Admins,CN=Users,DC=sub,DC=domain,DC=net 
memberOf: CN=Administrators,CN=Builtin,DC=sub,DC=domain,DC=net 
.... 
primaryGroupID: 515 
.... 

該用戶的主組是測試組(I知道這是因爲我在創建該用戶/組對)讓我們看看那個:

# Test Group, Users, sub.domain.net 
dn: CN=Test Group,CN=Users,DC=sub,DC=domain,DC=net 
objectClass: top 
objectClass: group 
cn: Test Group 
distinguishedName: CN=Test Group,CN=Users,DC=sub,DC=domain,DC=net 
instanceType: 4 
whenCreated: 20101014151945.0Z 
whenChanged: 20101015141656.0Z 
uSNCreated: 41007 
uSNChanged: 41133 
name: Test Group 
objectGUID:: aQH58S0MWU2Fu/Cli72u0A== 
objectSid:: AQUAAAAAAAUVAAAAIzgCYuz3AhjZk27UXgQAAA== 
sAMAccountName: Test Group 
sAMAccountType: 268435456 
groupType: -2147483646 
objectCategory: CN=Group,CN=Schema,CN=Configuration,DC=sub,DC=domain,DC=net 
dSCorePropagationData: 16010101000000.0Z 

我該如何將用戶與他們的主要組關聯?列出用戶屬性時的所有內容都是primaryGroupID屬性,但其值無法在整個LDAP數據庫中找到(objectclass=*)。

+0

你是如何訪問/閱讀活動目錄?你使用什麼編程或腳本語言?很多這些東西是非常具體到您的開發環境..... – 2010-10-19 07:48:14

+0

@marc_s我使用PHP和上面給出的例子是從輸出的ldapsearch – Tom 2010-10-19 07:56:54

+0

@湯姆:好的,謝謝 - 我不是一個PHP專家,我所有的代碼都是.NET(C#) - 所以我恐怕不能真正幫你在這裏... – 2010-10-19 08:03:21

回答

1

這是錯誤的語言,但這個知識庫文章專門關於使用primarygroupID屬性找到主組的SID會談:

How to use the PrimaryGroupID attribute to find the primary group for a user

您可以使用,作爲一個起點你自己的代碼。

+0

我在ruby中發現了一個類似的代碼:http://www.boost.co.nz/blog/ruby-on-rails/extracting-active-directory-sids-with-ruby/ – Tom 2010-10-19 09:04:32

0

關於如何設置一個用戶的主組可以給你一些結論,這(VBScript)的例子:

oGroup.GetInfoEx Array("primaryGroupToken"), 0 
oUser.PrimaryGroupID = oGroup.PrimaryGroupToken 
oUser.SetInfo 

正如你看到的,你必須將用戶的PrimaryGroupID屬性相匹配的的PrimaryGroupToken財產組(&(objectclass = group)(PrimaryGroupToken = UsersPrimaryGroupID))或類似的。

+2

不幸的是,PrimaryGroupToken是一個構造屬性 - 由ADSI提供程序計算,不可通過LDAP進行檢索。 – 2010-10-19 08:20:42

+1

感謝您試用@Silvan,但@Damien_The_Unbeliever是對的。該字段是由一些廢話MS庫在客戶端計算的。 – Tom 2010-10-19 08:55:02

相關問題