Prendre possession de la clé de registre et attribuer des autorisations à l'aide de la ligne de commande

Nous avons vu comment utiliser l'Éditeur du Registre (regedit.exe) pour changer la propriété d'une clé de registre et de sous-clés. Et, nous avons également expliqué comment réinitialiser les autorisations d'une clé de registre ou supprimer des clés tenaces à l'aide de RegASSASSIN. Cet article vous explique comment modifier la propriété de la clé de Registre et accorder des autorisations à l'aide de la ligne de commande.

Windows dispose des utilitaires de la console takeown.exe et icacls.exe pour modifier la propriété et les autorisations des fichiers / dossiers, mais il n'existe aucun outil intégré permettant de modifier la propriété de la clé de Registre à l'aide de la ligne de commande. Vous aurez besoin d'un outil tiers nommé SetACL pour la tâche.

SetACL: arguments de ligne de commande

Avant de continuer, voyons la syntaxe de ligne de commande pour modifier la propriété et les autorisations des fichiers / registres à l'aide de SetACL.

 SetACL -on nom-objet -ot type-objet -actn action 
  • -on : spécifiez le chemin d'accès à l'objet sur lequel SetACL doit fonctionner (par exemple, fichier, clé de registre, partage réseau, service ou imprimante).
  • -ot : spécifiez le type d'objet. Pour modifier la propriété ou les autorisations d'un fichier ou d'un dossier, utilisez le file type d'objet. Pour les clés de registre, utilisez le type d'objet reg
  • -actn : spécifiez l'action quant à ce que SetACL doit faire contre l'objet spécifié. Pour vous approprier, définissez l'action en tant que setowner . Pour modifier les autorisations, définissez l'action sur ace .

(Voir la documentation SetACL pour la liste complète des objets, des types et des actions prises en charge.)

Prendre possession de la clé de registre et attribuer des autorisations à l'aide de la ligne de commande

Pour modifier la propriété et les autorisations de la clé de registre à l'aide de SetACL:

  1. Téléchargez SetACL, décompressez le contenu dans un dossier.
  2. Copiez la version appropriée de setacl.exe (32 bits contre 64 bits) de l'outil dans un dossier - par exemple, d:\tools .
  3. Supposons que vous souhaitiez modifier la propriété de la branche de registre HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160} et accorder au groupe d' Administrators des autorisations de contrôle total. Exécutez ces deux commandes à partir d'une fenêtre d'invite de commandes admin:
     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 4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: Administrateurs; p: complet " 

    SetACL: Modifier la propriété d'une clé de Registre et attribuer des autorisations complètes
    • La 1ère commande définit le groupe Administrators comme propriétaire de la clé
    • La 2e commande attribue au groupe Administrators autorisations Contrôle total pour la clé.

Le groupe Administrators possède la clé et ses sous-clés et dispose également d'autorisations de contrôle total, que vous pouvez vérifier à l'aide de l'Éditeur du Registre.


Important: pour modifier la propriété et les autorisations de cette clé et de ces sous-clés, ajoutez l'argument -rec Yes à la fin. Voir l'illustration ci-dessous pour plus d'informations.


Erreur lors de la modification des autorisations de clé de registre?

SetACL signale l'erreur suivante lors de la tentative de modification des autorisations pour un fichier / dossier ou une clé de registre pour laquelle vous n'avez pas accès. Pour éviter cette erreur, assurez-vous d'abord de vous approprier la clé avant de modifier ses autorisations.

$config[ads_text6] not foundSetACL s'est terminé avec des erreurs:

Message d'erreur SetACL: l'appel à SetNamedSecurityInfo () a échoué

Message d'erreur du système d'exploitation: l'accès est refusé.

Prendre possession et attribuer des autorisations de manière récursive (cette clé et ces sous-clés)

Pour modifier la propriété et accorder une autorisation de contrôle total (aux Administrators ) pour la clé spécifiée ainsi que ses sous - clés, incluez le commutateur -rec Yes à la fin, comme indiqué ci-dessous:

 SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: Administrateurs" -rec Oui SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B -BB46-4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: Administrateurs; p: complet "-rec Oui 

Définissez TrustedInstaller comme propriétaire

Pour définir TrustedInstaller tant que propriétaire de la clé de Registre ci-dessus et lui affecter de manière récursive les autorisations de contrôle total, utilisez la même syntaxe de ligne de commande. Il vous suffit de modifier le nom du compte / groupe. Voici les commandes dont vous avez besoin pour exécuter cette fois:

 SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: nt service \ trustedinstaller" -rec Oui SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: "nt service \ trustedinstaller"; p: full "-rec Oui 

Après avoir exécuté la commande ci-dessus, TrustedInstaller ( NT SERVICE\TrustedInstaller ) est NT SERVICE\TrustedInstaller comme le propriétaire de la clé et des sous-clés.

Information additionnelle

  • SubInACL de Microsoft: il existe également un autre outil de console nommé SubInACL publié par Microsoft à l'époque de Windows XP. Cela fait partie des outils du Kit de ressources Windows XP / 2003. SubInACL peut être utilisé pour définir la propriété et les autorisations des fichiers / dossiers et du registre. Cependant, comme SubInACL a été interrompu par Microsoft et qu'il utilise par défaut les fichiers et les chemins de registre 32 bits (sur les systèmes Windows 64 bits), ce qui le rend inutilisable dans les versions 64 bits de Windows dans certaines situations.
  • Regini.exe de Microsoft: vous disposez d'un autre outil de console intégré nommé regini.exe qui vous permet de modifier les autorisations de registre à l'aide d'un fichier texte. Cependant, regini.exe ne peut pas modifier la propriété d'une clé de Registre. Pour plus d'informations sur regini.exe, ouvrez une fenêtre d'invite de commandes et tapez regini.exe /?
  • SetACL de Helge Klein est un outil largement recommandé et il a certainement comblé le vide laissé par SubInACL et corrige également les lacunes de regini.exe . SetACL peut faire beaucoup plus de choses que ce qui est décrit dans cet article.

Voir la documentation SetACL pour plus de détails: Version de ligne de commande SetACL (SetACL.exe) - Syntaxe et description.

Articles Connexes