Powershell récupérer tous les dossiers utilisateurs de Windows et vérifie leurs droits

Le 10 septembre 2022
powershell jeux

Ce script commence par récupérer la liste des dossiers utilisateurs présents dans le répertoire C:\Users. Ensuite, pour chaque dossier utilisateur, il récupère les droits d’accès à l’aide de la commande Get-Acl et affiche ces droits dans la console à l’aide de la commande Write-Output. Les droits sont affichés sous forme de liste, avec le nom de l’utilisateur ou du groupe concerné suivi des droits d’accès accordés.

powershell
1
2
3
4
5
6
7
8
9
10
11
# Récupération de la liste des dossiers utilisateurs
$users = Get-ChildItem -Path C:\Users -Directory

# Vérification des droits pour chaque dossier utilisateur
foreach ($user in $users) {
    $acl = Get-Acl -Path $user.FullName
    Write-Output "Droits pour le dossier utilisateur $($user.Name):"
    foreach ($access in $acl.Access) {
        Write-Output "  - $($access.IdentityReference) : $($access.FileSystemRights)"
    }
}

Résultat:

Droits pour le dossier utilisateur dev:
  - AUTORITE NT\Système : FullControl
  - BUILTIN\Administrateurs : FullControl
  - CORE\dev : FullControl
Droits pour le dossier utilisateur Public:
  - CREATEUR PROPRIETAIRE : FullControl
  - AUTORITE NT\TACHE : CreateFiles, AppendData, ReadAndExecute, Synchronize
  - AUTORITE NT\TACHE : DeleteSubdirectoriesAndFiles, Modify, Synchronize
  - AUTORITE NT\INTERACTIF : DeleteSubdirectoriesAndFiles, Modify, Synchronize
  - AUTORITE NT\INTERACTIF : CreateFiles, AppendData, ReadAndExecute, Synchronize
  - AUTORITE NT\SERVICE : DeleteSubdirectoriesAndFiles, Modify, Synchronize
  - AUTORITE NT\SERVICE : CreateFiles, AppendData, ReadAndExecute, Synchronize
  - AUTORITE NT\Système : FullControl
  - BUILTIN\Administrateurs : FullControl