es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtén el propietario actual y los permisos de una clave de registro usando SetACL.

Utilizando SetACL de Helge Klein a través de un archivo por lotes, quiero cambiar el propietario y los permisos de una clave de registro solo para cambiar sus valores, luego devolverlo a su propietario y permisos originales, pero para hacer eso necesito conocer la sintaxis correcta para obtener el propietario y los permisos actuales de una clave de registro.

Esta es mi situación actual:

El problema:

1) Obtener el propietario actual

2) Obtener los permisos actuales del administrador

Lo que he hecho y funciona:

3) Cambiar el propietario a Administradores (no de forma recursiva)

4) Cambiar los permisos del administrador a completo (no de forma recursiva)

5) Editar los valores del registro en la clave

La consecuencia de resolver el problema:

6) Restaurar los permisos del administrador con los previamente obtenidos. (no de forma recursiva)

7) Restaurar el propietario con el obtenido previamente. (no de forma recursiva)

La clave de ejemplo es la siguiente:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell

y gracias a este tema: https://superuser.com/questions/712392
He obtenido este código parcial:

REM Pseudo código:
propietario = $(SetACL.exe -on “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell” -ot reg -actn ?)
permisosAdmin = $(SetACL.exe -on “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell” -ot reg -actn ?)

REM Código conocido:
SetACL.exe -on “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell” -ot reg -actn setowner -ownr n:Administradores
SetACL.exe -on “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell” -ot reg -actn ace -ace “n:Administradores;p:completo”
REG IMPORT “System config.reg”

REM Código hipotético:
SetACL.exe -on “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell” -ot reg -actn setowner -ownr n:%propietario%
SetACL.exe -on “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell” -ot reg -actn ace -ace “n:Administradores;p:%permisosAdmin%”

¿Cuál es la sintaxis que se debe usar para obtener el propietario y los permisos actuales (sección de pseudo código)?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener el propietario actual y los permisos de una clave de registro utilizando SetACL de Helge Klein a través de un archivo por lotes, la sintaxis sería:

    1. Para obtener el propietario actual:
    SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell" -ot reg -actn listown
    
    1. Para obtener los permisos actuales del Administrador:
    SetACL.exe -on "HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Shell\Powershell" -ot reg -actn list
    

    Una vez que hayas obtenido el propietario y los permisos, puedes almacenar los valores en variables y usarlos más tarde para restaurar el propietario y los permisos originales de la clave de registro.

Comments are closed.