Compartir a través de


Get-ADGroupMember devuelve el error del grupo local de dominio a los miembros de bosques remotos.

Este artículo ayuda a corregir un error que se produce cuando se ejecuta el cmdlet en un escenario en el Get-ADGroupMember que un grupo tiene un miembro de un bosque remoto.

Número de KB original: 3171600

Síntomas

Supongamos que usa el Get-ADGroupMember cmdlet para identificar los miembros de un grupo en Servicios de dominio de Active Directory (AD DS). Sin embargo, al ejecutar el cmdlet para un grupo local de dominio, se devuelve el siguiente error:

Get-ADGroupMember -verbose -identity "CN=Test-Local1,OU=Test Accounts,DC=contoso,DC=com"
Get-ADGroupMember: se ha producido un error no especificado
At line:1 char:1
+ Get-ADGroupMember -verbose -identity "CN=Test-Local1,OU=Test Accounts,DC=contoso ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (CN=Test-Local1,... bertm-w7,DC=com:ADGroup) [Get-ADGroupMember], ADExceptionon + FullyQualifiedErrorId : ActiveDirectoryServer:0,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember

Nota:

En una confianza unidireccional, al usar el Get-ADGroupMember cmdlet en un grupo del bosque de confianza, recibirá los siguientes errores si el grupo contiene miembros del bosque de confianza:

  • "Se ha producido un error no especificado"
  • "El servidor no pudo procesar la solicitud debido a un error interno"

Como solución alternativa, use el complemento Usuarios y equipos de Active Directory para ver los miembros del grupo o convertir la confianza unidireccional en una confianza bidireccional.

Causa

Este problema se produce si el grupo tiene un miembro de otro bosque cuya cuenta se ha quitado del bosque de cuentas. El miembro se representa en el dominio local mediante una entidad de seguridad externa (FSP). En la exportación de LDIFDE del grupo, se muestra una pertenencia como se indica a continuación:

dn: CN=Test-Local1,OU=Test Accounts,DC=contoso,DC=com

miembro:

CN=S-1-5-21-3110691720-3620623707-1182478234-698540,CN=ForeignSecurityPrincipals,DC=contoso,DC=com

miembro:

CN=S-1-5-21-3110691720-3620623707-1182478234-695739,CN=ForeignSecurityPrincipals,DC=contoso,DC=com

Cuando se elimina la cuenta de origen con el SID, el FSP no se actualiza ni quita para reflejar esta eliminación. Debe comprobar manualmente que se quitan estas referencias de FSP.

Solución

Para resolver este problema, habilite el registro de las solicitudes de resolución que se refieren a estos SID y que realiza el servicio web de Active Directory. De este modo, puede identificar las cuentas que producen un error en la resolución. Para ello, ejecute el Get-ADGroupMember cmdlet en el controlador de dominio de (donde el marcador de contoso.com posición representa el dominio en cuestión).

Para habilitar el registro, ejecute las siguientes líneas de comandos:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x800 -Type dword -Force
Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgTraceOptions -Value 0x1 -Type dword -Force

Recuerde desactivar el registro cuando tenga el registro:

Set-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\Lsa" -Name LspDbgInfoLevel -Value 0x0 -Type dword -Force

Verá un archivo denominado c:\windows\debug\lsp.log, que realiza un seguimiento de los intentos de resolución de SID-Name. Al volver a ejecutar el cmdlet en el controlador de dominio donde se ejecutó el cmdlet, el archivo registrará los errores y se parecerá a lo siguiente:

LspDsLookup: especificación de la función LsapLookupSidsLspDsLookup - LookupSids request for 1 SIDs with level=1, mappedcount=0, options=0x0, clientRevision=2 se está procesando. Los SID son; LspDsLookup - Sids[ 0 ] = S-1-5-21-3110691720-3620623707-1182478234-698540LspDsLookup - Detalles del solicitante: Máquina local, Id. de proceso = 1408, Nombre del proceso = C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe LspDsLookup : especificación de la función LsapDbLookupSidsUsingIdentityCacheLspDsLookup - 1 sids permanecen sinmappedLspDsLookup- Exiting function LsapDbLookupSidsUsingIdentityCache with status 0x0LspDsLookup - LookupSids chain request (using Netlogon) to \dc3.northwindtraders.com para 1 sids se realizarán con level=6, mappedcount=0, options=0x0, serverRevision=0. Los sids son; LspDsLookup - Sids[ 0 ] = S-1-5-21-3110691720-3620623707-1182478234-698540 LspDsLookup - Solicitud de búsqueda (mediante Netlogon) a \dc3.northwindtraders.com devuelto con 0xc0000073 y mappedcount=0, serverRevision=0LspDsLookup: salida de la función LsapLookupSids con estado 0xc0000073

Compruebe los siguientes elementos para comprobar que esta es la sección pertinente para este problema (en la salida de ejemplo anterior):

  • El proceso es C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe.
  • La solicitud se envía a un controlador de dominio en un bosque diferente, por ejemplo, northwindtraders.com.
  • El código de retorno es 0xc0000073, que es igual a STATUS_NONE_MAPPED.

Para buscar el objeto FSP, ejecute el siguiente comando (reemplace los nombres de dominio y los SID):

get-AdObject -Searchbase "CN=ForeignSecurityPrincipals,DC=contoso,DC=com" -ldapfilter "(cn=S-1-5-21-3110691720-3620623707-1182478234-698540)"

El objeto original de este FSP ya no existe, por lo que puede eliminarlo de forma segura. Si lo hace, también se quitará de todos los grupos de los que es miembro:

get-AdObject -Searchbase "CN=ForeignSecurityPrincipals,DC=contoso,DC=com" -ldapfilter "(cn=S-1-5-21-3110691720-3620623707-1182478234-698540)" | Remove-AdObject -Confirm:$false

Referencias

Cómo se pueden asignar los SID y los nombres de cuenta en Windows