0
從組中提取用戶時,發出異常消息爲「嘗試解析跨存儲引用時,目標主體的SID無法解析,錯誤代碼爲1332.」嘗試解析跨存儲引用時,目標主體的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)
我得到的錯誤。 我可以檢查這個錯誤的任何建議或在循環過程中從列表中跳過這個成員。
這也給我錯誤。我只想跳過這一行,任何想法如何以任何方式完成 –
手動迭代並捕獲異常? – TGlatzer
它出來的循環和groupMembers是IEnumerable,所以不知道如何擺脫該項目。而且一旦我在groupMembers上得到異常,我無法做任何事情,它會拋出異常。 –