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");
THX, günümü tamamlayın !!!!! – GermanSniper
Bu işe yarıyor! Teşekkürler! – Aaron
Not: Bu, yalnızca etki alanları arasında iki yönlü bir güven söz konusu olduğunda çalışır. –