我有2个结构域,A和B.域A具有基组A包含用户从域B
我的代码:GroupPrincipal.GetMembers和交叉域成员错误
using (var context = new PrincipalContext(ContextType.Domain, DomainName, User, Password))
{
using (var groupPrincipal = GroupPrincipal.FindByIdentity(context, IdentityType.SamAccountName,
groupName))
{
if (groupPrincipal == null) return null;
using (var principalSearchResult = groupPrincipal.GetMembers(true))
{
var changedUsersFromGroup =
principalSearchResult
.Where(member => member is UserPrincipal)
.Where(member => IsModifiedUser(member, usnChanged))
.Cast<UserPrincipal>()
.Select(adsUser => new AdsUser(adsUser)).Cast<IAdsUser>()
.ToArray();
return changedUsersFromGroup;
}
}
}
系统.DirectoryServices.AccountManagement.PrincipalOperationException: 尝试解析跨商店引用时,在主体的SID所指示的域中找不到目标主体 。
但是,如果我从这里
new PrincipalContext(ContextType.Domain, DomainName, User, Password)
到域B添加用户,它工作正常。
我该如何解决它?
如果您有时间去反编译GAC中的相关程序集,您可能会看到此错误消息的条件是什么条件。我个人的猜测是有一个当时连接问题给DC,所以这个消息是误导性的。除非第二次尝试,否则解决起来很难。 –