Bonjour,

Je cherche à extraire les ACL des dossiers et sous-dossiers d'un serveur et récupérer le résultat dans un CSV.

Pour cela j'ai trouvé le script suivant qui fonctionne bien :

Code PowerShell : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
Get-childitem "\\serveur\dossier\" -recurse | where{$_.psiscontainer} |
Get-Acl | % {
    $path = $_.Path
    $_.Access | % {
        New-Object PSObject -Property @{
            Folder = $path.Replace("Microsoft.PowerShell.Core\FileSystem::","")
            Access = $_.FileSystemRights
            Control = $_.AccessControlType
            User = $_.IdentityReference
            Inheritance = $_.IsInherited
            }
        }
    } | select-object -Property User, Access, Folder | export-csv d:\output.csv -force


J'ai par exemple comme résultat :

CREATEUR PROPRIETAIRE,"FullControl","\\serveur\dossier"
AUTORITE NT\Syst?me,"FullControl","\\serveur\dossier"
BUILTIN\Administrateurs,"FullControl","\\serveur\dossier"
domaine\user1,"Modify, Synchronize","\\serveur\dossier"
domaine\user2,"FullControl","\\serveur\dossier"
domaine\user3,"Modify, Synchronize","\\serveur\dossier"
etc...
Je voudrais que certains utilisateurs ne soient pas pris en compte dans les résultats, dans l'exemple il faudrait ne pas prendre en compte : CREATEUR PROPRIETAIRE, AUTORITE NT\Syst?me et BUILTIN\Administrateurs.

Avez-vous une idée ??

Merci par avance.