gpt4 book ai didi

c# - 尝试解析跨存储引用时,无法解析目标主体的 SID。错误代码为 1332

转载 作者:太空宇宙 更新时间:2023-11-03 23:19:27 35 4
gpt4 key购买 nike

从组中获取用户时,出现异常消息“尝试解析跨商店引用时,无法解析目标主体的 SID。错误代码为 1332。”

        PrincipalContext ctx = null;
if (!string.IsNullOrWhiteSpace(adUserName))
{
ctx = new PrincipalContext(ContextType.Domain, domainName, adUserName, adPassword);
}
else
{
ctx = new PrincipalContext(ContextType.Domain, domainName);
}
var groupNames = commaSeparatedGroupNames.Split(',');
IEnumerable<Principal> users = null;
foreach (var groupName in groupNames)
{
if (!string.IsNullOrWhiteSpace(groupName))
{
var userGroup = GroupPrincipal.FindByIdentity(ctx, groupName.Trim());
if (userGroup == null)
throw new InvalidOperationException("Active Directory Group Not Found :: " + groupName);

var usersInGroup = userGroup.GetMembers();

if (users == null)
{
users = usersInGroup;
}
else
{
users = users.Union(usersInGroup);
}
}
}

return users;

做的时候

foreach (UserPrincipal user in users)

我遇到了错误。我可以检查此错误或在循环期间从列表中跳过此成员的任何建议。

最佳答案

Sandra 的解决方案几乎是正确的,但是在 MoveNext() 方法上会抛出异常,因此如果将 try..catch block 放在其中,它会成功'工作。

var enumerator = members.GetEnumerator();

var moveNext = true;

while (moveNext)
{
try
{
moveNext = enumerator.MoveNext();

if (moveNext)
{
Principal member = enumerator.Current;

Console.WriteLine("{0}\r\n\t{1}\r\n\t{2}", member, member.Guid, member.DistinguishedName);
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}

关于c# - 尝试解析跨存储引用时,无法解析目标主体的 SID。错误代码为 1332,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35913995/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com