Get-ADGroupMember: se superó el límite de tamaño para esta solicitud
El cmdlet Get-ADGroupMember es excelente para obtener miembros de AD de un grupo. Sin embargo, esta vez ejecuta el cmdlet Get-ADGroupMember y obtiene el error: Get-ADGroupMember: se superó el límite de tamaño para esta solicitud. ¿Por qué sucede esto y cuál es la solución para este error?
Get-ADGroupMember: se superó el límite de tamaño para esta solicitud
Tenemos el grupo AD SG_Azure_A y nos gustaría tener a todos los miembros de ese grupo con PowerShell.
Ejecute PowerShell como administrador y ejecute el cmdlet Get-ADGroupMember para obtener todos los miembros del grupo SG_Azure_A.
PS C:\> Get-ADGroupMember -Identity "SG_Azure_A" | Select-Object Name | Sort-Object NameDespués de ejecutar el comando anterior, la salida en PS muestra el error:
Get-ADGroupMember : The size limit for this request was exceeded
At line:1 char:1
+ Get-ADGroupMember -Identity "SG_Azure_A" | Select-Object Name | Sort- ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (SG_Azure_A:ADGroup) [Get-ADGroupMember], ADException
+ FullyQualifiedErrorId : ActiveDirectoryServer:8227,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMemberGet-ADGroupMember: se superó el límite de tamaño para esta solicitud
En la línea:1 char:1
¿Por qué aparece este error y cuál es la solución para Get-ADGroupMember: se superó el límite de tamaño para esta solicitud?
El límite de tamaño máximo de Get-ADGroupMember es 5000
El número máximo de miembros del grupo que se pueden recuperar es 5000. Entonces, si hay más miembros en el grupo que el límite de 5000, aparecerá el error: Get-ADGroupMember: se excedió el límite de tamaño para esta solicitud.
Veamos el siguiente paso sobre cómo resolver este error.
Soluciones para Get-ADGroupMember: se superó el límite de tamaño para esta solicitud
Hay dos soluciones para el error Get-ADGroupMember: se superó el límite de tamaño para esta solicitud.
Solución 1: ejecute el cmdlet Get-ADGroup
El cmdlet Get-ADGroup es diferente del cmdlet Get-ADGroupMember. La ventaja es que no hay límite para conseguir miembros del grupo.
Obtenga los miembros del grupo por nombres distinguidos.
PS C:\> Get-ADGroup 'SG_Azure_A' -Properties Member | Select-Object -ExpandProperty Member | SortObtenga los miembros del grupo por su nombre.
PS C:\> Get-ADGroup "SG_Azure_A" -Properties Member | Select-Object -ExpandProperty Member | Get-ADObject | Select Name | Sort NameCuente los miembros del grupo.
PS C:\> ((Get-ADGroup "SG_Azure_A" -Properties member).member).countExporte los miembros del grupo a un archivo CSV.
En este ejemplo, exportará los resultados al archivo exportmembers.csv en el directorio C:\temp.
PS C:\> Get-ADGroup "SG_Azure_A" -Properties Member | Select-Object -ExpandProperty Member | Get-ADObject | Select Name | Sort Name | Export-Csv "C:\temp\exportmembers.csv" -Encoding UTF8 -NoTypeInformation
Así es como se ve el archivo CSV.
Copie todos los miembros del grupo de origen al grupo de destino.
PS C:\> Add-ADGroupMember -Identity "SG_Azure_B" -Members (Get-ADGroup "SG_Azure_A" -Properties member).memberSolución 2: cambiar el parámetro de configuración de ADWS
ADWS (Servicios web de Active Directory) proporciona una interfaz de servicio web para instancias del servicio de directorio (AD DS y AD LDS) que se ejecutan localmente en este servidor. Si el servicio se detiene o deshabilita, las aplicaciones cliente, como Active Directory PowerShell, no podrán acceder ni administrar ninguna instancia del servicio de directorio que se esté ejecutando localmente en el servidor.
El parámetro que necesita agregar es MaxGroupOrMemberEntries, siga los pasos a continuación:
1. Inicie sesión en los Controladores de dominio.
2. Abra el siguiente archivo con el Bloc de notas.
C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe.config3. Copie el texto y la clave siguientes.
<!--Specifies the maximum number of group members (recursive or non-recursive), group memberships, and authorization
groups that can be retrieved by the Active Directory module Get-ADGroupMember, Get-ADPrincipalGroupMembership, and
Get-ADAccountAuthorizationGroup cmdlets. Set this parameter to a higher value if you anticipate these cmdlets to
return more than 5000 results in your environment.-->
<add key="MaxGroupOrMemberEntries" value="50000"/>El parámetro de configuración MaxGroupOrMemberEntries se aplica solo a los tres cmdlets del módulo de Active Directory: Get-ADGroupMember, Get-ADPrincipalGroupMembership y Get-ADAccountAuthorizationGroup.
4. Pegue el texto y la clave en el archivo de configuración.
En este ejemplo, el valor se establece en 50000 (esto recuperará 50000 elementos).
5. Guarde el archivo de configuración.
6. Ejecute el comando en PowerShell para reiniciar el servicio ADWS.
PS C:\> Restart-Service -Name ADWS7. Ejecute el cmdlet Get-ADGroupMember para obtener los miembros del grupo o copiar miembros de un grupo de AD a otro.
PS C:\> Get-ADGroupMember -Identity "SG_Azure_A" | Select-Object Name | Sort-Object Name¡Eso es todo!
Leer más: Exportar miembros del grupo AD con PowerShell »
Conclusión
Descubrió por qué aparece el error Get-ADGroupMember: se superó el límite de tamaño para esta solicitud. La solución a este problema es utilizar el cmdlet Get-ADGroup. Otro método consiste en agregar el parámetro MaxGroupOrMemberEntries en el archivo de configuración de ADWS. Después de eso, puede ejecutar el cmdlet Get-ADGroupMember.
Disfrutaste este artículo? También te puede interesar Comparar miembros del grupo AD con PowerShell. No olvides seguirnos y compartir este artículo.



