2011-07-20 24 views
6

Belirli bir etkin dizin grubunun üyelerini DirectoryServices.AccouneManagement ad alanlarını C# sınıflarında kullanarak getirmeye çalışıyorum.Active Directory etki alanı - grup üyelerini kullanarak PrincipalContext

benim asıl bağlam nesne yapıcı belirli bir etki için belirtilen varsa, o zaman ben aşağıda yanılgıya çalıştırıyorum başka alanlardan olan gruptan üyesine erişmek her zaman: "Bir başvuru döndürüldü sunucu".

Senaryo: Ben Kök etki altında farklı alt alanlarda olduğunda Ör: emea.mycorp.com, asia.mycorp.com, asiapacific.mycorp.com, xyz.mycorp.com

i çalıştırıyorum ise asaapacific bir grup için xyz.mycorp.com etki alanından aşağıdaki kodu asal bağlam nesnesinde sunucu adını belirtirseniz gruba erişebilirdim. grubum emea \ abcd gibi başka alanlardan kullanıcılar varsa

private PrincipalContext context = 
    new PrincipalContext(ContextType.Domain, "asiapacific domain server name"); 

Aşağıdaki kod UserPrincipal başarısız:

GroupPrincipal SearchGroup = GroupPrincipal.FindByIdentity(context, "Dev Team"); 
    GroupName = new List<string>(); 
    foreach (UserPrincipal p in SearchGroup.GetMembers())  
    {   
     GroupName.Add(p.SamAccountName + " " + p.DistinguishedName + " " + p.Name); 
    } 

Yani, root için bağlam geçebileceği bir yolu var mı etki alanı, böylece kod kullanıcının ait olduğu etki alanından bağımsız olarak çalışır. Aşağıda denenmiş ve şans ile bunun hiçbiri ile:

private PrincipalContext context = 
    new PrincipalContext(ContextType.Domain, "mycorp.com"); 

veya

private PrincipalContext context = 
    new PrincipalContext(ContextType.Domain, "DC=mycorp,DC=com"); 

cevap

13

bu deneyin:

new PrincipalContext(ContextType.Domain, "xyz.mycorp.com:3268", "DC=mycorp,DC=com"); 

Bu yerel etki alanında genel katalog hizmeti kullanılarak PrincipalContext yaratacak denetleyici (tabii ki bu, yerel DC'nizin de bir GC olduğunu varsayar). Bu, tüm ormanın aramalarına izin verecektir.

+0

THX, günümü tamamlayın !!!!! – GermanSniper

+0

Bu işe yarıyor! Teşekkürler! – Aaron

+0

Not: Bu, yalnızca etki alanları arasında iki yönlü bir güven söz konusu olduğunda çalışır. –

İlgili konular