c# - propiedad - Al intentar resolver una referencia entre tiendas, el SID del principal de destino no se pudo resolver. El código de error es 1332
propiedad tag c# (1)
Creo que su problema está relacionado con el tipo de group.GetMembers()
de group.GetMembers()
, que no es necesariamente un UserPrincipal
sino un Principal
.
Por lo tanto, es posible que desee verificar si el Principal
es un UserPrincipal
o un GroupPrincipal
.
foreach(var principal in groupMembers)
sería una mejor opción en tu caso.
Mientras extrae usuarios de un grupo, el mensaje de excepción aparece como "Al intentar resolver una referencia entre tiendas, no se pudo resolver el SID del principal de destino. El código de error es 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;
Cuando haces
foreach (UserPrincipal user in users)
Estoy obteniendo el error. Cualquier sugerencia puedo verificar este error u omitir este miembro de la lista durante el bucle.