Clear-Host #Valeurs nécessaire dans tous les cas $ObjectToProcess = "d:\test" function DelUnknowACL(){ param([string]$ObjectToProcess) #On recupere les droits de l objet a traiter $objACL = Get-ACL $ObjectToProcess $AclModifiee = 0 foreach ($MySubACL in $objACL.Access) { if ($MySubACL.IsInherited -ieq $false){ $NomACLenAccess = [String]$MySubACL.IdentityReference if ($NomACLenAccess.substring(0,9) -ieq "S-1-5-21-"){ Write-Host "___________________________" Write-Host $MySubACL.IdentityReference Write-Host $MySubACL.AccessControlType Write-Host $MySubACL.FileSystemRights Write-Host $MySubACL.IsInherited Write-Host $MySubACL.PropagationFlags $objACL.RemoveAccessRule($MySubACL) $AclModifiee = 1 Write-Host "$MySubACL.IdentityReference retiré des accès de $ObjectToProcess" } } } if ($AclModifiee -ieq 1){ #On applique les droits sur le répertoire/objet Set-ACL $ObjectToProcess $objACL } } DelUnknowACL -ObjectToProcess $ObjectToProcess