我有一个如下所示的代码示例
PrincipalContext context = new PrincipalContext(ContextType.Domain, "aaaaa", "aaaa\\bbb", "pppppp");
var group = GroupPrincipal.FindByIdentity(context, IdentityType.Guid, "253DD8F5-3C6E-438A-899F-8A693B0AD93E");
PrincipalSearchResult<Principal> users = group.GetMembers(true);
foreach (UserPrincipal user in users)
{
var a =user.Sid.Translate(typeof(NTAccount)).ToString();
}
我正在尝试使用组来查找其成员。一些成员来自其他受信任的森林,所以我不能使用用户的“成员”..
我有几台服务器,其环境是服务器 2008、2008 R2 和 2012 等...
该应用程序可以正常运行,但某些服务器会引发异常。
一个是
System.Security.Principal.IdentityNotMappedException: Some or all identity references could not be translated.
这是因为 sid 无法翻译.....但是其他服务器还可以....
另一个是
System.DirectoryServices.AccountManagement.PrincipalOperationException: While trying to resolve a cross-store reference, the SID of the target principal could not be resolved. The error code is 5.
这是因为无法访问搜索结果