Modifier les autorisations sur la clé de Registre via la ligne de commande

11

J'essaie d'éditer cette clé de registre via la ligne de commande - cherche depuis des siècles mais ne trouve rien.

Vraiment coincé en ce moment, donc toute aide serait grandement appréciée. Cela ne me dérange pas d'utiliser PowerShell ou quoi que ce soit qui appelle un outil tiers - je veux juste le changer via la ligne de commande.

La raison en est que les administrateurs locaux ont des droits en lecture seule par défaut. Je veux changer cela en Contrôle total. Je peux le faire dans l'interface graphique en 2 secondes, mais la ligne de commande est une autre affaire.

HKEY_CLASSES_ROOT\CLSID\{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder
lara400
la source

Réponses:

7

Il existe un excellent aperçu de la façon de le faire dans PowerShell ici .

Essentiellement, vous pouvez utiliser Get-Aclet Set-Acldans PowerShell comme vous le feriez pour tout autre chemin.

$acl = Get-Acl HKLM:\SOFTWARE\stuff
$rule = New-Object System.Security.AccessControl.RegistryAccessRule ("Domain\user","FullControl","Allow")
$acl.SetAccessRule($rule)
$acl |Set-Acl -Path HKLM:\SOFTWARE\stuff
MDMarra
la source
merci pour cela - le problème auquel je suis confronté est que si je suis un administrateur et que je souhaite modifier les autorisations sur une clé qui a des administrateurs en tant que lecture - il dira que l'accès est refusé .... vraiment ennuyeux. Je vais essayer la chose PowerShell et revenir. Le système est également lu, vous ne pouvez donc pas utiliser psexec pour le faire.
lara400
1
@ lara400 Ensuite, vous devez vous approprier la clé avant de pouvoir attribuer des writeautorisations. Rien au monde ne permettra à quelqu'un de n'apporter que readdes modifications. Cela va à l'encontre de l'objectif de l' readACE. Je vous suggère d'ouvrir une nouvelle question demandant de s'approprier une clé de registre dans PowerShell.
MDMarra
4

Est- ce que RegIni.exe répond à vos besoins? Vous pouvez écrire un script RegIni qui modifie les autorisations, puis appeler RegIni avec le script en tant que paramètre.

Par exemple, si vous vouliez que seuls les administrateurs aient un accès complet à cette clé, le script ressemblerait à ceci:

HKEY_CLASSES_ROOT\CLSID{323CA680-C24D-4099-B94D-446DD2D7249E}\ShellFolder [1]

Bien que vous souhaitiez sans doute également accorder au système l'accès à la clé, et peut-être un accès en lecture seule à tout le monde, auquel cas le suffixe de sécurité serait

[1 8 17]

Vous pouvez trouver les numéros de suffixe de sécurité dans ce tableau:

1  - Administrators Full Access
2  - Administrators Read Access
3  - Administrators Read and Write Access
4  - Administrators Read, Write and Delete Access
5  - Creator Full Access
6  - Creator Read and Write Access
7  - World Full Access
8  - World Read Access
9  - World Read and Write Access
10 - World Read, Write and Delete Access
11 - Power Users Full Access
12 - Power Users Read and Write Access
13 - Power Users Read, Write and Delete Access
14 - System Operators Full Access
15 - System Operators Read and Write Access
16 - System Operators Read, Write and Delete Access
17 - System Full Access
18 - System Read and Write Access
19 - System Read Access
20 - Administrators Read, Write and Execute Access
21 - Interactive User Full Access
22 - Interactive User Read and Write Access
23 - Interactive User Read, Write and Delete Access

Et il va sans dire que vous devriez avoir une bonne sauvegarde avant de jouer avec cela pour la première fois, et peut-être vous entraîner sur une clé de registre fictive pour éviter tout accident malheureux.

dsolimano
la source