miércoles, 4 de octubre de 2023

Comprobar si un usuario pertenece a un grupo



Cómo verificar si un usuario pertenece a un grupo de Active Directory con PowerShell.



Imaginemos que tenemos un archivo de texto con una lista de usuarios de Active Directory y queremos saber si esos usuarios son miembros de un grupo.

Podemos leer el archivo, en el cual cada usuario debe ocupar una línea, y verificar que el usuario sea miembro del grupo, con un script de PowerShell.

Para ello, podemos ejecutar el siguiente script desde un controlador de dominio:

$groupName = "Grupo"

$userList = Get-Content -Path "C:\Scripts\usuarios-origen.txt"
$outputFilePath = "C:\Scripts\usuarios-en-grupo.txt"

foreach ($user in $userList) {
    $isMember = Get-ADUser $user | Get-ADPrincipalGroupMembership | Where-Object { $_.Name -eq $groupName }
    
    if ($isMember) {
        "$user" | Tee-Object -FilePath $outputFilePath -Append
    }
}

El nombre del grupo es "Grupo" y debe especificarse dentro de la variable "$groupName".

La ruta con el archivo de texto que contiene la lista de usuarios debe especificarse en "$userList".

Asimismo, el script usa el cmdlet "Tee-Object" el cual muestra por pantalla el output al mismo tiempo que lo graba en un archivo de texto, en este caso, el especificado en la variable "$outputFilePath".
0