PowerShell/Droit d'accès
Aller à la navigation
Aller à la recherche
PowerShell et scripts relatifs aux droits d'accès.
Liste des droits sur le contenu d'une arborescence
# Liste des droits de sécurité sur les dossiers et fichiers d'une arborescence
# Création d'un fichier
$FichierDestination = "C:\Support\PermissionListeTest.csv"
$CheminRacine = "C:\Support\"
# Entête de document
$FichierEntete = "Chemin;IdentityReference;AccessControlType;IsInherited;InheritanceFlags;PropagationFlags;FilesystemRights"
$FichierExiste = Test-Path $FichierDestination
If ($FichierExiste -eq $True) {Remove-Item $FichierDestination}
Add-Content -Encoding UTF8 -Value $FichierEntete -Path $FichierDestination
$DossierListe = dir $CheminRacine -recurse | Where {$_.psiscontainer -eq $True}
Foreach ($Dossier in $DossierListe) {
$DroitListe = Get-ACL $Dossier.fullname | ForEach-Object { $_.Access }
Foreach ($Droit in $DroitListe) {
$FichierLigne = ($Dossier.Fullname,
$Droit.IdentityReference,
$Droit.AccessControlType,
$Droit.IsInherited,
$Droit.InheritanceFlags,
$Droit.PropagationFlags,
($Droit.FileSystemRights -replace ',', '/' )
) -join ";"
Add-Content -Encoding UTF8 -Value $FichierLigne -Path $FichierDestination
}
}