6
我想通過在c#中使用DirectoryServices.AccouneManagement命名空間類來獲取給定的活動目錄組的成員。Active Directory跨域 - 使用PrincipalContext的組成員
如果我有爲特定域指定的主體上下文對象構造函數,那麼無論何時從我從其他域運行的組中訪問該成員時,都會遇到以下錯誤: 「引用從服務器」。
的情況是:我在根域不同的子域 例如:emea.mycorp.com,asia.mycorp.com,asiapacific.mycorp.com,xyz.mycorp.com
如果我正在運行的如果我在主體上下文對象中指定servername,則可以訪問該組。
private PrincipalContext context =
new PrincipalContext(ContextType.Domain, "asiapacific domain server name");
如果我的團隊有來自像EMEA \ ABCD其他域中的用戶,下面的代碼失敗在UserPrincipal:
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);
}
那麼,有沒有辦法,我可以通過上下文根的方式域,這樣代碼就可以工作,而不管用戶所屬的域。下面我試圖與這一切沒有運氣:
private PrincipalContext context =
new PrincipalContext(ContextType.Domain, "mycorp.com");
或
private PrincipalContext context =
new PrincipalContext(ContextType.Domain, "DC=mycorp,DC=com");
THX你讓我的一天!!!!! – GermanSniper
這個工程!謝謝! – Aaron
注意:這也僅適用於域之間存在雙向信任的情況。 –