Cambiar permisos en la clave del registro a través de la línea de comando

11

Estoy tratando de editar esta clave de registro a través de la línea de comandos: he estado buscando durante siglos pero no puedo encontrar nada.

Realmente atascado en este momento, por lo que cualquier ayuda sería muy apreciada. No me importa usar PowerShell ni nada que llame a una herramienta de terceros, solo quiero cambiarlo a través de la línea de comandos.

La razón es que los administradores locales tienen derechos de solo lectura de forma predeterminada. Quiero cambiar esto a Control total. Puedo hacerlo en la GUI en 2 segundos, pero la línea de comandos es otro asunto.

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

Respuestas:

7

Hay un excelente resumen de cómo hacerlo en PowerShell aquí .

Esencialmente, puede usar Get-Acly Set-Aclen PowerShell como lo haría para cualquier otra ruta.

$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
fuente
gracias por eso, el problema que enfrento es que si soy administrador y quiero cambiar los permisos de una clave que tiene Administradores como LEÍDO, dirá acceso denegado ... realmente molesto. Probaré la cosa de PowerShell y volveré. El sistema también es de lectura, así que no puedo usar psexec para hacerlo.
lara400
1
@ lara400 Entonces debe tomar posesión de la clave antes de poder asignar writepermisos. Nada en el mundo permitirá que alguien solo readhaga modificaciones. Eso derrota el propósito de la readACE. Le sugiero que abra una nueva pregunta solicitando tomar posesión de una clave de registro en PowerShell.
MDMarra
4

¿ RegIni.exe satisface sus necesidades? Puede escribir un script RegIni que cambie los permisos y luego llamar a RegIni con el script como parámetro.

Por ejemplo, si solo desea que los administradores tengan acceso completo a esa clave, el script se vería así:

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

Aunque presumiblemente también querría otorgarle al sistema acceso a la clave, y quizás acceso de solo lectura a todos los demás, en cuyo caso el sufijo de seguridad sería

[1 8 17]

Puede encontrar los números de sufijo de seguridad en esta tabla:

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

Y no hace falta decir que debe tener una buena copia de seguridad antes de jugar con esto por primera vez, y tal vez practicar con una clave de registro ficticia para evitar accidentes desafortunados.

dsolimano
fuente