Created
May 22, 2019 14:46
-
-
Save lukecamilo/ad057c160041334ccf6962fb62a14568 to your computer and use it in GitHub Desktop.
Trae los grupos en los que esta un usuario recursivamente
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Agregar el modulo de Active Directory. | |
import-module activedirectory | |
$Final=@() | |
## Apunta a la ruta donde esta el archivo | |
$ruta="c:\datos" | |
## Apunta al archivo | |
$archivo="lista de usuarios.txt" | |
## Obtiene una lista de todos los usuarios que esten habiliados. | |
$usuariostotal= get-content $ruta\$archivo | |
foreach ($usuario in $usuariostotal){ | |
## Guarda el nombre del usuario. | |
$nombre=$usuario.name | |
## Guarda el username. | |
$user=$usuario.samaccountname | |
$Completo=@() | |
$Grupos="ERROR DESCONOCIDO" | |
$primero=$true | |
$agregar="" | |
## Busca los grupos a los que pertenece el usuario. | |
$Completo=get-ADPrincipalGroupMembership $user | select-object name | |
$cantidad=$Completo.count | |
## Por cada grupo hace una iteracion. | |
for($a=0;$a -lt ($cantidad);$a++){ | |
if ($primero){ | |
$primero=$false | |
## Toma el nombre del grupo y lo pasa a una variable. | |
$agregar=$Completo[$a].name | |
## Agrega la variable anterior a $grupos para dejarlo todo en una sola variable. | |
$Grupos="$agregar" | |
} | |
else{ | |
$agregar=$Completo[$a].name | |
$Grupos+=", $agregar" | |
} | |
} | |
$Final+=$usuario | select-object @{Expression={$nombre};Label="Nombre"},@{Expression={$user};Label="Username"}, @{expression={$Grupos};Label="Grupos"},@{expression={$cantidad};Label="Cantidad"} | |
} | |
## Exporta el reporte a un CSV | |
$Final | export-csv $ruta\"ReporteUsuarios.csv" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment