Zerkana

viernes, 7 de junio de 2019

Script Powershell para mostrar directorio de carpetas con sus grupos y usuarios

Os traigo un Script powershell que hemos creado para lo siguiente:


  1. Listar ruta de carpetas de un FileServer
  2. Listar los grupos que tienen acceso a cada carpeta.
  3. Listar los usuarios que pertenecen a cada grupo. 



$FolderPath = Get-ChildItem -Directory -Path "R:\GPA" -Recurse -Force

ForEach ($Folder in $FolderPath) {
    $ruta = $Folder.Parent
    $Acl = Get-Acl -Path $Folder.FullName #Comando para sacar los grupos de cada carpeta
    ForEach ($Access in $Acl.Access) {
                   #Recorremos todos los grupos gracias a ForEach
$Miembros = Get-ADGroupMember $Access.identityreference.tostring().split("\")[1] -Recursive #Para sacar la pertenencia de usuarios de cada grupo
ForEach ($Usuario in $Miembros)
{
$GroupMembers = New-Object -TypeName PSObject -Property @{
                Ruta = $ruta
                GroupName = $Access.IdentityReference
UserName = $Usuario.name
}
$GroupMembers | Select Ruta, GroupName, Username | Export-Csv "C:\permisos\pruebafinal.csv" -NoTypeInformation -Append #Exportamos el contenido
}       
                  
}
}

No hay comentarios: