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");
THX u làm cho ngày của tôi !!!!! – GermanSniper
Công trình này hoạt động! Cảm ơn! – Aaron
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. –