1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
$ListFile= Get-Content -path C:\Chemin\du\fichier\texte\
foreach ($line in $ListFile)
{
try {
$Path=$line
Write-Debug "Rule : $Path"
$ACL=Get-Acl $Path
$AuditUser = "Everyone"
#$AuditUser = "Tout le monde"
$AuditRule = "FullControl"
$InheritType = "ContainerInherit"
$AuditType = "Failure"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule($AuditUser,$AuditRule,$InheritType,"None",$AuditType)
$ACL.SetAuditRule($AccessRule)
$AuditUser = "Everyone" #Tous les utilisateurs
$AuditRule = "WriteData","AppendData","Traverse","DeleteSubdirectoriesAndFiles","Delete","Modify","ChangePermissions","TakeOwnership" #Accès à auditer
$InheritType = "ContainerInherit" #Appliqué à dossier, sous-dossier et fichiers ("ObjectInherit" pour appliquer la règles aux objets enfants)
$AuditType = "Success" #Spécifie Success ou Failure
$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule($AuditUser,$AuditRule,$InheritType,"None",$AuditType) #Concatène les règles d'audit à appliquer dans une variable
$ACL.AddAuditRule($AccessRule)
$ACL | Set-Acl $Path
#Visu du résultat
#$ACL.GetAuditRules($true,$true,[System.Security.Principal.SecurityIdentifier])
} catch {
Write-Host ($AccessRule|ft -AutoSize|out-string) -BackgroundColor DarkCyan
Write-Error -Message $_.Message -Exception $_.Exception
}
} |
Partager