Generar un CSV con los permisos de un árbol de directorios

En esta ocasión, vamos a revisar una ruta para obtener los permisos que hay en cada una de las carpetas y subcarpetas que lo conforman.

Get-Childitem -path “D:\” -recurse | Where-Object {$_.PSIsContainer} | Get-ACL| Select-Object Path -ExpandProperty Access | Export-CSV “C:\temp\ntfs_permisos_folder.csv” -NoTypeInformation

Paso a paso:

  • Get-Childitem -path “D:\” -recurse

Get-Childitem muestra todos los directorios y archivos que hay en una ruta específica.

-path “D:\” indicamos el directorio raíz.

-recurse se efectúa de forma recursiva para mostrar los subdirectorios.

  • Where-Object {$_.PSIsContainer}

Con esta opción solamente se acota la visualización a los directorios. Se excluyen los archivos.

  • Get-ACL | Select-Object Path -ExpandProperty Access

Get-ACL muestra la lista de control de accesos a la ruta o el objeto especificado.

Select-Object Path – ExpandProperty Access. Selecciona el objeto path (ruta) y además, el objeto Access se le fuerza con -ExpandProperty a mostrarlo entero.

  • Export-CSV “C:\temp\ntfs_permisos_folder.csv” -NoTypeInformation exporta todo el resultado de todo lo anterior en un archivo CSV, el cual facilita el posterior tratamiento de datos.