Línea de comando para obtener acceso permanente a la carpeta

13

ACTUALIZAR Si bien pude usar el método descrito en la respuesta aceptada una vez que falló por segunda vez o simplemente estaba dando demasiados problemas.

Buscando más, encontré SetACL de Helge Klein, que es muy superior y hace exactamente lo que se necesita.


No puedo acceder a ciertas carpetas, por ejemplo c:\Program Files\WindowsApps. A través de la línea de comando aparece el error " Acceso denegado " y a través del Explorador de Windows aparece un cuadro de diálogo emergente que dice " Actualmente no tiene permiso para acceder a esta carpeta "

ingrese la descripción de la imagen aquí

Hacer clic en Continuar me da acceso, pero me gustaría concederme acceso usando la línea de comando; para que mis scripts no se encuentren con este problema en el mismo contexto de seguridad.

Encontré esta pregunta en Microsoft Technet pero no pude hacer que funcionara. Tenga en cuenta que ya estoy ejecutando Powershell como administrador.

PS C:\WINDOWS\system32> icacls "C:\Program Files\WindowsApps" /grant i063510:F /inheritance:e
C:\Program Files\WindowsApps: Access is denied.
Successfully processed 0 files; Failed processing 1 files
PS C:\WINDOWS\system32> icacls "C:\Program Files" /grant i063510:F /inheritance:e
C:\Program Files: Access is denied.
Successfully processed 0 files; Failed processing 1 files

Si es importante, estoy usando Windows 10 actualizado de Windows 8.1 .

Variable miserable
fuente

Respuestas:

12

Actualmente no tienes permiso para acceder a esta carpeta

Pruebe ICACLS y / o TAKEOWN con la sintaxis a continuación en la carpeta con el nombre de usuario según sea necesario.

Pruebe solo los comandos ICACLS primero y si eso no se resuelve , ejecute los comandos TAKEOWN y luego ejecute los comandos ICACLS nuevamente.


Comandos ICACLS

  • Otorgue acceso explícito de control total a esta carpeta a todas las subcarpetas y archivos debajo de todos los permisos heredados y continúe en caso de error

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • Otorgue acceso de modificación explícito a esta carpeta a todas las subcarpetas y archivos debajo de todos los permisos heredados en su lugar y continúe en caso de error

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • Cambie el propietario de esta carpeta y todas las subcarpetas y archivos debajo y continúe con el error

    ICACLS "<FolderPath>" /SETOWNER "<UserName>" /T /C
    

takeown Comandos

  • Ejecute esto como la cuenta a la que desea otorgar la propiedad, y se cambiará al propietario de la carpeta y a todas las subcarpetas y archivos.

    TAKEOWN /F "<FolderPath>" /R /D Y
    
Pimp Juice IT
fuente
Gracias. Quiero evitar TAKEOWN/ SETOWNER. Supongo que cambia el propietario y el Explorador de Windows solo le asigna permiso.
Variable miserable
¿Puedes confirmar si solo la ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /Cvoluntad te dará el resultado esperado? Actualizaré mi respuesta con más detalle si es así.
Pimp Juice IT
Debe
Esto funciona para mí: ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. Gracias por tu ayuda. @Ramhound No pude entender por tu comentario cuando necesito o no tomar posesión.
Variable miserable
@MiserableVariable Acabo de actualizar mi respuesta con más detalles también.
Pimp Juice IT