PowerShell: obtenga miembros del grupo AD y lista de usuarios
PowerShell Get-AdGroupMember se utiliza para obtener miembros del directorio activo. Puede obtener miembros del grupo de anuncios especificando el nombre del grupo del directorio activo. El parámetro Identidad especifica el grupo de Active Directory al que acceder para obtener miembros del grupo.
Como administrador del sistema, tenemos que consultar el directorio activo para obtener una lista de usuarios en el grupo AD y exportar los miembros del grupo de anuncios a CSV o cualquier formato de archivo.
En este artículo, analizaremos cómo utilizar el cmdlet Get-AdGroupMember de PowerShell para obtener usuarios del grupo AD y miembros del grupo de anuncios.
PowerShell Get-AdGroupMember
El cmdlet Get-AdGroupMember obtiene miembros de un grupo de Active Directory mediante la siguiente sintaxis.
Sintaxis
Get-ADGroupMember
[-AuthType <ADAuthType>]
[-Credential <PSCredential>]
[-Identity] <ADGroup>
[-Partition <String>]
[-Recursive]
[-Server <String>]
[<CommonParameters>]
Parámetros
-Identidad: se utiliza para especificar un objeto de grupo de directorio activo utilizando cualquiera de los valores como nombre distinguido, GUID, SID o nombre de cuenta SAMA.
-Recursivo: Obtiene todos los miembros de la jerarquía del grupo.
-Servidor: Especifique la instancia del Servicio de dominio de Active Directory a la que conectarse proporcionando uno de los valores para el nombre de dominio o servidor de directorio correspondiente.
PowerShell Obtener miembros del grupo AD
Los grupos de Active Directory pueden tener varios grupos dentro de ellos y tener usuarios asociados a cada grupo.
Para obtener una lista de usuarios del grupo AD y obtener grupos del grupo AD, ejecute el siguiente comando
Get-ADGroupMember -Identity "Shell_Sales" | Select-Object Name | Sort-Object NameEn el script de PowerShell anterior, el cmdlet Get-AdGroupMember usa el parámetro Identity para especificar el nombre del grupo de anuncios para obtener miembros y usuarios del grupo de anuncios de "Shell_Sales" grupo de anuncios y pasa el resultado al comando Select-Object.
El cmdlet Select-Object selecciona el nombre del objeto y lo ordena por Nombre para llevar a los miembros del grupo de anuncios a la consola.
A continuación se muestra el resultado del script de PowerShell anterior para enumerar los miembros del grupo desde el directorio activo.
Name
----
Administrator
ShellGeek
Shell_Asia
Shell_EuropeObtener lista de usuarios de grupos y grupos anidados
Para obtener una lista de usuarios de grupos de anuncios y grupos anidados, utilice el cmdlet Get-ADGroupMember para comprobar de forma recursiva el parámetro especificado por -Recursive en el directorio activo y obtener el grupo de anuncios. miembros.
Get-ADGroupMember -Identity "Shell_Sales" -Recursive | Get-ADUser -Property DisplayName | Select-Object DisplayName
En el script de PowerShell anterior para obtener miembros del grupo de anuncios,
Al utilizar PowerShell, Get-AdGroupMemeber se obtienen los miembros del grupo del directorio activo especificado por el parámetro Identity y se pasan los miembros del grupo de anuncios al segundo comando.
El segundo comando utiliza el cmdlet Get-ADUser para obtener usuarios de anuncios de una lista de usuarios de anuncios y devuelve el nombre para mostrar del usuario del anuncio.
El tercer comando, Select-Object muestra el nombre de todos los usuarios de anuncios de grupos y grupos anidados en la consola.
Obtenga una cuenta habilitada para AdGroupMember
Para obtener cuentas habilitadas para miembros de adgroup en el grupo especificado, use el cmdlet Get-AdGroupMember para obtener todos los miembros del grupo y canalizarlos al cmdlet Get-AdUser para obtener cuentas de usuario habilitadas.
$group = "SALESLEADER"
$adusers = Get-ADGroupMember -Identity $group | where {$_.objectclass -eq "user"}
foreach ($activeuser in $adusers)
{
Get-ADUser -Identity $activeuser | where {$_.enabled -eq $true} | select Name, SamAccountName, UserPrincipalName, Enabled
}En el script de PowerShell anterior, Get-AdGroupMember usa el parámetro Identity para obtener todos los usuarios del grupo de anuncios SALESLEADER y almacenarlos en $adusers. variable.
Utilice el bucle foreach para iterar sobre $adusers y utilice el cmdlet Get-AdUser para comprobar el estado habilitado de la cuenta de usuario y seleccionar el nombre. y samaccountname para cuentas habilitadas.
El resultado del script de PowerShell anterior obtiene usuarios habilitados para miembros del grupo de anuncios.
El resultado muestra las columnas Nombre, SamAccountName, UserPrincipalName y Enabled. Las columnas habilitadas muestran solo los resultados verdaderos habilitados para obtener miembro del grupo de anuncios.
Modificación Get-AdGroupMember MaxGroupOrMemberEntries
Get-AdGroupMember tiene un límite predeterminado de 5000 para obtener objetos del directorio activo y sus propiedades.
Si tiene más de 5000 objetos de directorio activo e intenta que todos los miembros utilicen Get-AdGroupMember, se genera un error: “Get-AdGroupMember: se superó el límite de tamaño para esta solicitud.
Puede aumentar MaxGrouporMemberEntries para recuperar objetos del directorio activo más que el límite predeterminado.
Consulte los pasos siguientes para agregar MaxGroupOrMemberEntries:
- Ir al controlador de dominio
- Navegue a la ubicación C:\Windows\ADWS
- Abra el archivo Microsoft.ActiveDirectory.WebServices.exe.config en el Bloc de notas.
- Compruebe si la clave MaxGroupOrMemberEntries está disponible o no. Si está disponible, aumente el tamaño; de lo contrario, siga la siguiente clave para acceder al archivo.
- Agregar entrada
Nota: Realice una copia de seguridad de Microsoft.ActiveDirectory.WebServices.exe.config antes de realizar cualquier cambio.
Obtener ejemplo de filtro AdGroupMemeber
Para obtener usuarios del grupo, utilice el filtro obtener miembro del grupo de anuncios para comprobar si ObjectClass es igual al "usuario".
Get-ADGroupMember "SALESLEADER" | where {$_.objectclass -eq "user"} | Select Name,DistinguishedName | Format-Table -AutoSizeEn el script de PowerShell anterior, Get-AdGroupMember obtiene todos los miembros del grupo de anuncios "SALESLEADER" y utiliza el filtro para obtener usuarios del grupo.
Get-AdGroupMember utiliza Format-Table para formatear la salida como se indica a continuación
PS C:\> Get-ADGroupMember "SALESLEADER" | where {$_.objectclass -eq "user"} | Select Name,DistinguishedName | Format-Table -AutoSize
Name DistinguishedName
---- -----------------
Tom Smith CN=Tom Smith,OU=SALES,DC=SHELLPRO,DC=LOCAL
Chris Dore CN=Chris Dore,OU=SALES,DC=SHELLPRO,DC=LOCAL
Gary Waugh CN=Gary Waugh,OU=SALES,DC=SHELLPRO,DC=LOCAL
PS C:\>Para obtener una lista de grupos del directorio activo, utilice el filtro Get-AdGroupMember para comprobar si la ObjectClass es igual al "grupo". .
Get-ADGroupMember "SALESLEADER" | where {$_.objectclass -eq "group"} | Select Name,DistinguishedName | Format-Table -AutoSizeEn el script de PowerShell anterior, Get-AdGroupMember obtiene todos los miembros del directorio activo y utiliza el filtro get adgroupmember para comprobar si ObjectClass es igual al grupo. y recupera los nombres de los grupos.
Conclusión
Espero que el artículo anterior sobre cómo obtener miembros de un grupo de anuncios y obtener una lista de usuarios de grupos de anuncios y grupos anidados pueda ayudarle a comprender el uso del cmdlet PowerShell Get-ADGroupMember.
Puede leer más sobre cómo exportar miembros del grupo de anuncios a un archivo CSV y Set-AdGroup para modificar los atributos del grupo del directorio activo en PowerShell.
Puede encontrar más temas sobre los comandos de PowerShell Active Directory y los conceptos básicos de PowerShell en la página de inicio de ShellGeek.
Contenido recomendado
Obtener el nombre de cuenta SAMA del miembro del grupo de anuncios
Obtener el recuento de miembros del grupo de anuncios para usuarios y grupos
Obtener el nombre y la dirección de correo electrónico del miembro del grupo de anuncios
Obtener miembro del grupo de anuncios de varios grupos
Obtenga AdGroupMember del grupo de administradores de dominio
