SetACL est un utilitaire gratuit de Helge Klein capable de modifier, réinitialiser les propriétaires et permissions des fichiers, imprimante, services ou registre Windows.
Il peut se substituer aux outils natifs de Windows tels que takeown et icalcs pour gérer les ACL car il va plus loin.
En effet, il est possible de sauvegarder/restaurer les permissions, copier celles d’un autre utilisateur, migrer d’un domaine.
Ce tutoriel vous explique comment utiliser SetACL à travers des exemples pour définir le propriété d’un fichier, d’un dossier, partage réseau, imprimante et services.
Vous pourrez ainsi attribuer les permissions requises en utilisant la ligne de commande au lieu de l’interface graphique.

Table des matières
- 1 Comment installer SetACL
- 2 La syntaxe et utilisation générale de SetACL
- 3 Comment réinitialiser les permissions et autorisations d’un dossier ou lecteur avec SetACL
- 3.1 Comment changer le propriétaire d’un dossier ou fichier
- 3.2 Comment réinitialiser les permissions d’un dossier ou fichier
- 3.3 Comment modifier les permissions d’un fichier ou dossier
- 3.4 Comment lister les permissions d’un dossier ou fichier
- 3.5 Comment sauvegarder et restaurer les permissions de fichiers
- 3.6 Comment copier les permissions de fichiers d’un autre utilisateur
- 4 Comment réinitialiser les permissions et autorisations d’une clé du registre Windows avec SetACL
- 5 Comment modifier les permissions et autorisations d’un partage réseau
- 6 Comment modifier les permissions et autorisations d’un service avec SetACL
- 7 Comment modifier les permissions et autorisations d’une imprimante avec SetACL
- 8 Liens
Comment installer SetACL
- Téléchargez l’utilitaire depuis ce lien :
- Décompressez le fichier ZIP par exemple avec 7-zip
- Copiez la version appropriée de setacl.exe (32-bit vs 64-bit) de l’outil dans un dossier – par exemple, d:\outils
La syntaxe et utilisation générale de SetACL
Avant de poursuivre, voyons la syntaxe de la ligne de commande pour modifier la propriété et les permissions d’un fichier/registre à l’aide de SetACL.
SetACL -on <nom de l'objet> -ot <type de l'objet> -actn <action>
- -on : Indiquez le chemin d’accès à l’objet sur lequel SetACL doit agir. Il peut s’agir par exemple, un fichier, une clé de registre, un partage réseau, WMI, un service ou une imprimante
- -ot : Spécifier le type d’objet. Pour modifier la propriété ou les autorisations d’un fichier ou d’un dossier. Soit :
- file – un fichier ou dossier utilisez le type d’objet fichier
- reg – une clé du registre
- prn – une imprimante
- shr – Partage de dossiers (network)
- srv – pour un service
- wmi – permissions WMI
- -actn : Spécifiez l’action que SetACL doit effectuer sur l’objet spécifié. Pour prendre la propriété, définissez l’action comme setowner. Pour modifier les permissions, définissez l’action comme ace.
- –ownr : Spécifiez le nom ou le SID d’un administrateur (un utilisateur ou un groupe) dans ce format – par exemple, “n:Administrateurs”.
Comment réinitialiser les permissions et autorisations d’un dossier ou lecteur avec SetACL
Comment changer le propriétaire d’un dossier ou fichier
Voici la syntaxe à utiliser pour changer le propriétaire du dossier D:\test avec le groupe Administrateurs ou l’utilisateur MaK :
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrateurs" -rec obj
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:Mak" -rec obj
Les paramètres :
- –on : Indiquez le chemin d’accès à l’objet sur lequel SetACL, ici il s’agit d’un dossier, soit donc l’objet file
- -ot : Spécifier le type d’objet. Pour modifier la propriété ou les autorisations d’un fichier ou d’un dossier, utilisez le type d’objet fichier. Pour les clés de registre, utilisez le type d’objet reg
- -actn : Spécifiez l’action que SetACL doit effectuer sur l’objet spécifié. Pour prendre la propriété, définissez l’action comme setowner. Pour modifier les permissions, définissez l’action comme ace
Par exemple pour restaurer TrustedInstaller en tant que propriétaire du dossier D:\test :
SetACL.exe -on "d:\test" -ot file -actn setowner -ownr "n:nt service\trustedinstaller" -rec Yes
SetACL.exe -on "d:\test" -ot file -actn ace -ace "n:"nt service\trustedinstaller";p:full" -rec Yes
Comment réinitialiser les permissions d’un dossier ou fichier
Voici un exemple pour réinitialiser le fichier demo.txt.
Les permissions sont indiquées par p:full qui demandent à donner le contrôle total.
setacl.exe -on "e:\test\demo.txt" -ot file -actn ace -ace "n:Administrateurs;p:full"
setacl.exe -on "e:\test\demo.txt" -ot file -actn ace -ace "n:Mak;p:full"
Pour modifier les permissions d’un dossier, c’est exactement le même principale.
setacl.exe -on "e:\test" -ot file -actn ace -ace "n:Administrateurs;p:full"
setacl.exe -on "e:\test" -ot file -actn ace -ace "n:Mak;p:full"
Si vous souhaitez réinitialiser les permissions d’un dossier et tous les sous-dossiers et fichiers (mode récursif), utilisez l’option -rec cont :
setacl.exe -on "e:\test" -ot file -actn ace -ace "n:Administrateurs;p:full" -rec cont
setacl.exe -on "e:\test" -ot file -actn ace -ace "n:Mak;p:full" -rec cont
Notez qu’il est possible d’écrire le tout en une seule commande :
setacl.exe -on "e:\test" -ot file -actn ace -ace "n:Administrateurs;p:full" -ace "n:Mak;p:full" -rec cont
Comment modifier les permissions d’un fichier ou dossier
Dans cet autre exemple, on modifie les autorisations du dossier D:\test sur l’utilisateur1 du domaine domaine.
On lui attribue les autorisations en lecteur avec p:red et écriture avec write_dacl.
SetACL.exe -on "e:\test" -ot file -actn ace -ace "n:domaine\utilisateur1;p:read,write_dacl"
Les permissions peuvent être :
- p:full – Contrôle total
- p:change – Modification
- p:read – Lecture
- p:write – Ecriture
Comment lister les permissions d’un dossier ou fichier
Pour lister les permissions d’un dossier ou fichier, utilisez l’action -actn list :
SetACL.exe -on "e:\test" -ot file -actn list
Comment sauvegarder et restaurer les permissions de fichiers
Vous pouvez aussi sauvegarder les permissions d’un dossier dans un fichier texte.
Par exemple ci-dessous, on crée une liste complète des DACL, SACL, propriétaire et groupe primaire au format SDDL du répertoire d:\test et de tous les sous-dossiers.
SetACL.exe -on "e:\test" -ot file -actn list -lst "f:sddl;w:d,s,o,g" -rec cont -bckp "d:\data\setacl_listing.txt"
Puis si vous avez les droits, vous pouvez restaurer ces permissions dans un autre dossier.
SetACL.exe -on "e:\test1" -ot file -actn restore -bckp "d:\data\setacl_listing.txt"
Comment copier les permissions de fichiers d’un autre utilisateur
Cette commande copie toutes les ACE appartenant à ‘domaine1\utilisateur1’ vers ‘domain2\utilisateur2’, ce qui entraîne une duplication des autorisations : après le processus, domaine2\utilisateur2 a les mêmes autorisations que domaine1\utilisateur1.
Cela peut être utile dans un scénario de migration où les utilisateurs du domaine 1 sont migrés (copiés) vers le domaine 2.
SetACL.exe -on "\\serveur1\share\users" -ot file -actn trustee -rec cont_obj -trst "n1:domaine1\utilisateur1;n2:domaine2\utilisateur2;ta:cpytrst;w:dacl"
Comment réinitialiser les permissions et autorisations d’une clé du registre Windows avec SetACL
On peut appliquer une syntaxe similaire pour modifier les permissions des clés du registre Windows.
Simplement, il faut spécifier l’objet reg à l’aide du paramètre -ot erg.
Voici un exemple pour rétablir le groupe administrateurs comme propriétaire puis lui donner le contrôle total :
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n:Administrateurs"
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn ace -ace "n:Administrateurs;p:full"
Un autre exemple pour rétablir TrustedInstaller comme propriétaire et lui donner le contrôle total :
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n:nt service\trustedinstaller" -rec Yes
SetACL.exe -on "HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn ace -ace "n:"nt service\trustedinstaller";p:full" -rec Yes
Comment modifier les permissions et autorisations d’un partage réseau
SetACL peut aussi modifier les permissions sur les partages réseaux.
Pour cela, on utilise l’objet shr.
Pour lister les permissions d’un partage réseau :
SetACL.exe -on "\\serveur\Donnees" -ot shr -actn list -lst f:tab
Pour modifier les permissions d’un partage réseau :
SetACL.exe -on "\\serveur\Donnees" -ot shr -actn ace -ace "n:"nt "n:Mak;p:full" -rec cont
Comment modifier les permissions et autorisations d’un service avec SetACL
Pour modifier les permissions d’un service Windows, utilisez le paramètre -ot srv pour spécifier l’objet Service.
Dans cet exemple, on réinitialise le service W32Time (service de serveur de temps) de serveur1 via l’utilisateur Mak :
SetACL.exe -on "\\serveur1\W32Time" -ot srv -actn ace -ace "n:MaK;p:start_stop"
Comment modifier les permissions et autorisations d’une imprimante avec SetACL
Enfin dans ce dernier exemple, on change les permissions d’une imprimante.
SetACL.exe -on "\\server1\HP LaserJet 4050" -ot prn -actn ace
-ace "n:domain1\HelpDesk;p:man_docs"
Liens
- Les autorisations NTFS (ACL) sur les fichiers et partage réseau de Windows
- Accès refusé lors de l’accès à un dossier
- Retirer les autorisations Trustedinstaller
- SetACL – Outils pour modifier les permissions et autorisations
- Comment réinitialiser les permissions sur le disque C
- Le lecteur n’est pas accessible “Accès refusé” dans Windows 11 : 5 solutions
- Comment utiliser ICACLS pour voir et modifier les autorisations de fichiers et dossiers
- Comment partager un dossier entre ordinateur Windows
- La gestion des utilisateurs sur Windows
- Comment supprimer un fichier insupprimable