2011-07-20 22 views
6

Tôi đang cố gắng tìm nạp các thành viên của một nhóm thư mục hoạt động cụ thể bằng cách sử dụng các lớp không gian tên DirectoryServices.AccouneManagement trong C#.Tên miền chéo thư mục hoạt động - các thành viên nhóm sử dụng PrincipalContext

Nếu tôi có hàm tạo đối tượng ngữ cảnh chính được chỉ định cho một miền cụ thể, thì bất cứ khi nào tôi truy cập thành viên từ nhóm từ các tên miền khác tôi gặp phải lỗi dưới đây: "Giới thiệu được trả về từ máy chủ ".

Kịch bản là: Tôi có tiểu lĩnh vực khác nhau dưới tên miền gốc Ví dụ: emea.mycorp.com, asia.mycorp.com, asiapacific.mycorp.com, xyz.mycorp.com

Nếu tôi đang chạy bên dưới mã từ miền xyz.mycorp.com, cho một nhóm trong asiapacific Nếu tôi chỉ định tên máy chủ trong đối tượng bối cảnh chính, tôi có thể truy cập vào nhóm.

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

Nếu nhóm của tôi có những người sử dụng từ các lĩnh vực khác như EMEA \ abcd, mã dưới đây thất bại tại 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); 
    } 

Vì vậy, Có cách nào mà tôi có thể vượt qua bối cảnh cho thư mục gốc miền, để mã sẽ hoạt động bất kể tên miền mà người dùng thuộc về. Tôi cố gắng dưới đây và với ai trong số đó có may mắn:

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

hoặc

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

Trả lời

13

Hãy thử điều này:

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

Điều này sẽ tạo ra các PrincipalContext sử dụng dịch vụ Danh mục toàn cầu về miền địa phương của bạn điều khiển (tất nhiên, điều này giả định rằng DC địa phương của bạn là một GC là tốt). Điều này sẽ cho phép tìm kiếm toàn bộ khu rừng.

+0

THX u làm cho ngày của tôi !!!!! – GermanSniper

+0

Công trình này hoạt động! Cảm ơn! – Aaron

+0

Lưu ý: Điều này cũng chỉ hoạt động khi có sự tin tưởng hai chiều giữa các miền. –

Các vấn đề liên quan