Tomar posesión de un archivo o carpeta mediante la línea de comandos en Windows

Cada archivo o carpeta en un volumen NTFS tiene un propietario. Ciertos archivos del sistema son propiedad de TrustedInstaller, algunos de la cuenta SYSTEM y otros del grupo "Administradores". Si un usuario crea un archivo o carpeta, ese usuario suele ser el propietario del archivo o carpeta. El propietario es quien puede asignar permisos (Permitir o Denegar) a otros usuarios para ese objeto.

Si un usuario no es el propietario de un archivo o carpeta o no tiene permisos para acceder al archivo, obtiene el error "acceso denegado" al acceder al objeto. Si ese usuario es un administrador, puede tomar posesión del objeto utilizando la pestaña Propiedades - Seguridad del archivo o carpeta. Luego, puede asignarse a sí mismo los permisos necesarios.

Esta publicación te dice cómo tomar posesión de un archivo o carpetay asigne los permisos necesarios para ello mediante la línea de comandos en lugar de la GUI.

Contenido

  • Tomar posesión de un archivo usando takeown.exe
  • Asignar permisos de archivo mediante icacls.exe
  • Tomar posesión de una carpeta con takeown.exe
  • Asignar permisos de carpeta mediante icacls.exe
  • Tomar posesión y asignar permisos a través del menú contextual [Script / Tweak]

Información adicional

  • INFORMACIÓN: icacls.exe también puede cambiar la propiedad
  • Revertir la propiedad a TrustedInstaller
  • ERROR: icacls.exe / setowner "Acceso denegado"
  • Usar SetACL.exe para tomar posesión y asignar permisos [Software gratuito de terceros]

Windows incluye una herramienta de línea de comandos llamada Takeown.exe, que se puede utilizar desde un símbolo del sistema de administración para cambiar rápidamente la propiedad de un archivo o carpeta. He aquí cómo tomar posesión de un archivo o carpeta y luego asigne permisos para una cuenta usando la línea de comandos.

Tomar posesión usando la línea de comandos takeown.exe

Tomar posesión de un archivo

Abra un símbolo del sistema elevado ventana. Utilice la siguiente sintaxis para tomar posesión de un archivo:

DESMONTAJE / F 

Reemplazar con el nombre del archivo real con la ruta completa.

El usuario que ha iniciado sesión actualmente es ahora el propietario del archivo.

Para configurar Administradores agrupar el propietario del archivo, utilice el /A cambiar además:

DESMONTAJE / F  /A
  • /A Otorga propiedad al grupo de administradores en lugar del usuario actual. Si /A no se especifica, la propiedad del archivo se otorgará al usuario que haya iniciado sesión actualmente. Este parámetro es no distingue mayúsculas y minúsculas.

Si la operación fue exitosa, debería ver el siguiente mensaje:

"ÉXITO: ​​El archivo (o carpeta):" nombre de archivo "ahora pertenece al usuario" Nombre de equipo \ Nombre de usuario "."

o

ÉXITO: ​​El archivo (o carpeta): "nombre de archivo" ahora pertenece al grupo de administradores.

Asignar permisos de archivo

Entonces para conceder Administradores Permisos de control total para el archivo, utilice ICACLS. Aquí está la sintaxis:

ICACLS / administradores de subvenciones: F

Ejemplo 2: Para asignar permisos de Control total para el usuario que ha iniciado sesión actualmente, use este comando:

ICACLS / grant% username%: F

%nombre de usuario% representa el nombre de la cuenta del usuario actualmente conectado. ICacls acepta esta variable directamente.

Ejemplo 3: Para asignar permisos de Control total para el usuario nombrado John, use este comando:

ICACLS / conceder a John: F

Tomar posesión de una carpeta

Utilice la siguiente sintaxis:

takeown / f 

(o)

takeown / f  /a
  • /a Otorga propiedad al grupo de administradores en lugar del usuario actual. Si /a no se especifica, la propiedad se otorgará al usuario que haya iniciado sesión actualmente. Este parámetro es no distingue mayúsculas y minúsculas.

Verá el siguiente resultado:

ÉXITO: ​​El archivo (o carpeta): "nombre_de_carpeta" ahora es propiedad del usuario "nombre de equipo \ nombre de usuario"

(o)

ÉXITO: ​​El archivo (o carpeta): "nombre_carpeta" ahora pertenece al grupo de administradores.

Cambiar de propietario de forma recursiva:

Para cambiar la propiedad de una carpeta, sus subcarpetas y los archivos de cada subcarpeta, utilice esta sintaxis:

takeown / f / r / d y

El usuario que ha iniciado sesión actualmente es ahora el propietario de la carpeta.

Para configurar Administradores agrupar el propietario de la carpeta, sus subcarpetas y archivos de forma recursiva, utilice el /A cambiar además:

DESMONTAJE / F  / a / r / d y
  • / R Recurse: indica a la herramienta que opere en archivos en el directorio especificado y en todos los subdirectorios.
  • /D prompt Respuesta predeterminada utilizada cuando el usuario actual no tiene el permiso de “listar carpeta” en un directorio. Esto ocurre mientras se opera de forma recursiva (/ R) en subdirectorios. Valores válidos "Y" para tomar posesión o "N" para omitir.

Asignar permisos de carpeta

Luego para asignar el Administradores grupo Permisos de control total para la carpeta, use esta sintaxis:

icacls / administradores de subvenciones: F / T

El / T Se agrega el parámetro para que la operación se realice a través de todos los subdirectorios y archivos dentro de esa carpeta.

Ayuda de la línea de comandos:

Para conocer la información de uso completa de Takeown.exe e ICacls.exe, ejecute estos comandos desde una ventana del símbolo del sistema.

takeown /?
icacls /?

Métodos más fáciles para asumir la propiedad

Script de comando

Para simplificar aún más el proceso de apropiación, Tim Sneath de Microsoft proporciona un archivo .CMD (Windows Command Script) que toma posesión y asigna permisos de control total a los administradores para el directorio. Para obtener más información, lea la publicación de Tim, titulada Secreto n. ° 11: Eliminar lo indeleble.

Agregue el comando "Tomar posesión" en el menú contextual

Esto nuevamente usa el especial correr como verbo en Windows Vista y superior, que he cubierto antes (ÁRBITROCorrer como).

vía WinMatrix.com

Descargar takeown_context.reg y guárdelo en el escritorio. Haga clic derecho en el archivo y elija Unir. Hacer clic cuando se le solicite confirmación. Esto agrega un comando extendido llamado Tomar posesión en el menú contextual de archivos y directorios. Para acceder al comando, debe mantener presionada la tecla CAMBIO y luego haga clic con el botón derecho en un archivo o carpeta.

(Puede leer más sobre el ajuste en el artículo Tomar posesión de un archivo o carpeta a través del menú contextual del botón derecho en Windows.)


información adicional

La sección anterior cubre la mayoría de las cosas que necesita. Lea a continuación si necesita más consejos sobre este tema.

icacls.exe también puede cambiar la propiedad de un archivo o carpeta.

Takeown.exe e Icacls.exe son las dos herramientas de consola integradas en Windows, que le permiten cambiar la propiedad de archivos o carpetas y asignar permisos de control de acceso, respectivamente. Takeown.exe establece la cuenta del usuario actualmente conectado como propietario de un objeto (archivo o carpeta).

Sin embargo, con Takeown.exe, no puede crear otra cuenta como propietario de un objeto.

¿Sabía que la herramienta icacls.exe también se puede utilizar para cambiar la propiedad?

Para cambiar la propiedad a una cuenta de terceros (es decir, la cuenta que no está conectada actualmente) o grupo, puede usar icacls.exe con el /setowner argumento de línea de comandos, en lugar de takeown.exe.

Cambiar la propiedad de un archivo o carpeta con icacls.exe

Vimos cómo cambiar la propiedad usando icacls.exe en la última parte del artículo Tomar posesión de un archivo o carpeta mediante la línea de comandos en Windows. A continuación, se muestran algunos ejemplos más:

La siguiente es la sintaxis de la línea de comandos para cambiar la propiedad de un archivo o carpeta usando icacls.exe:

icacls "nombre_archivo_o_carpeta" / setowner "NT Service \ TrustedInstaller"

Ejemplos: Conjunto n. ° 1: cambiar la propiedad de un solo archivo o carpeta

icacls "D: \ Annual Reports \ 2020 \ November" / setowner "John"
icacls "D: \ Tax Audit \ November.xlsx" / setowner "John"
icacls "D: \ Tax Audit \ November.xlsx" / setowner "Administradores"

Si la operación se realizó correctamente, verá el siguiente mensaje:

archivo procesado: file_or_folder_name
1 archivos procesados ​​con éxito; Error al procesar 0 archivos

Ejemplo n. ° 2: cambiar la propiedad de una carpeta (subcarpeta y archivos) de forma recursiva

Para cambiar la propiedad de una carpeta, sus subcarpetas y todos los archivos de todas las subcarpetas de forma recursiva, utilice el / T interruptor (transversal) además:

icacls "nombre_carpeta" / setowner "Administradores" / T
  • / T indica que esta operación se realiza en todos los archivos / directorios coincidentes debajo de los directorios especificados en el nombre.

El comando anterior establece TrustedInstaller como el propietario de la carpeta, sus subcarpetas y todos los archivos en todas las subcarpetas.


Revertir la propiedad a TrustedInstaller

A veces, para solucionar un problema, es posible que deba modificar un archivo de datos como XML o un clave de registro propiedad de TrustedInstaller. Para eso, primero debe tomar posesión del archivo, carpeta o clave de registro.

Después de modificar los archivos o la configuración, debe revertir la propiedad a Instalador de confianza, si TrustedInstaller era el propietario anterior u original. Para volver a establecer la propiedad en TrustedInstaller, siga estos pasos:

El servicio Instalador de módulos de Windows o TrustedInstaller permite la instalación, modificación y eliminación de actualizaciones de Windows y componentes opcionales. De forma predeterminada, TrustedInstaller también es propietario de muchas claves de registro y archivos de sistema importantes.

  1. Haga clic con el botón derecho en un archivo o clave de registro y haga clic en Permisos.
  2. Haga clic en Avanzado para abrir el cuadro de diálogo Configuración de seguridad avanzada.
  3. Cerca de "Propietario:", haga clic en Cambiar.
  4. En el cuadro de diálogo Seleccionar usuario o grupo, escriba "SERVICIO NT \ TrustedInstaller”Y presione ENTER.
    tomar posesión de un archivo
  5. Haga clic en Aplicar, Aceptar.
    tomar posesión de un archivo

Esto cambia la propiedad del objeto (archivo, carpeta o clave de registro) a TrustedInstaller o al instalador de módulos de Windows.

RELACIONADO:Tomar posesión de una clave de registro y asignar permisos mediante la línea de comandos

Uso del comando icacls.exe para configurar TrustedInstaller como propietario de un archivo

Desde una ventana del símbolo del sistema de administrador, use la siguiente sintaxis de línea de comandos:

icacls "ruta \ nombre de archivo" / setowner "NT Service \ TrustedInstaller"

Ejemplo:

icacls "C: \ Windows \ PolicyDefinitions \ WindowsStore.admx" / setowner "NT Service \ TrustedInstaller"

TrustedInstaller ahora posee el archivo WindowsStore.admx.


¿Acceso a icacls / setowner denegado?

A veces el icacls.exe / setowner línea de comandos puede encontrar el siguiente error:

nombre de archivo: acceso denegado. 0 archivos procesados ​​con éxito; Error al procesar 1 archivos

Esto puede suceder cuando encuentra un vínculo físico NTFS. El error generalmente aparece cuando intenta cambiar la propiedad de los archivos protegidos en el directorio de Windows, por ejemplo, C: \ Windows \ Notepad.exe. A enlace duro es la representación del sistema de archivos de un archivo mediante la cual más de una ruta hace referencia a un solo archivo en el mismo volumen.

Por ejemplo, los archivos Notepad.exe tienen dos archivos vinculados, que puede ver con el siguiente comando:

fsutil.exe lista de vínculos físicos C: \ Windows \ notepad.exe
fsutil hardlink list notepad.exe

Puede ver que Notepad.exe está vinculado a los siguientes archivos:

C: \ Windows \ System32 \ Notepad.exe. C: \\ Windows \ WinSxS \ amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35 \ notepad.exe

El icacls.exe / setowner comando encuentra el ACCESO DENEGADO Error al procesar estos enlaces duros.

Tenga en cuenta que la documentación de icacls.exe dice, “Esta opción no fuerza un cambio de propiedad; use la utilidad takeown.exe para ese propósito ".

Si encuentra errores de "Acceso denegado" al establecer la propiedad mediante Icacls, es posible que deba confiar en Takeown.exe, SubInACL o la utilidad de línea de comandos SetACL.exe de terceros (consulte el párrafo siguiente).


Usar SetACL.exe para tomar posesión y asignar permisos

SetACL.exe es una herramienta de línea de comandos de terceros (de HelgeKlein.com) que hemos cubierto antes de.

SetACL: argumentos de la línea de comandos

Antes de continuar, veamos la sintaxis de la línea de comandos para cambiar la propiedad y los permisos de archivos / registros mediante SetACL.

SetACL -on nombre de objeto -ot tipo de objeto -actn acción
  • -sobre: Especifique la ruta al objeto en el que debe operar SetACL (por ejemplo, archivo, clave de registro, recurso compartido de red, servicio o impresora).
  • -Antiguo Testamento: Especifique el tipo de objeto. Para cambiar la propiedad o los permisos de un archivo o carpeta, use el tipo de objeto Archivo. Para claves de registro, use el tipo de objeto reg
  • -actn: Especifique la acción sobre lo que debe hacer SetACL contra el objeto especificado. Para tomar posesión, configure la acción como setowner. Para cambiar los permisos, configure la acción como as.
  • -propietario: Especifique el nombre o SID de un fideicomisario (un usuario o grupo) en este formato, por ejemplo, "n: administradores"

(Ver Documentación de SetACL para ver la lista completa de objetos, tipos y acciones admitidas).

Para cambiar la propiedad y otorgar permiso de control total, aquí hay algunos ejemplos:

Ejemplos: cambiar la propiedad de un solo archivo o carpeta:

setacl.exe -en c: \ windows \ notepad.exe -ot archivo -actn setowner -ownr "n: NT Service \ TrustedInstaller" setacl.exe -en c: \ windows \ notepad.exe -ot archivo -actn setowner -ownr "n: Administradores" setacl.exe -on c: \ windows \ notepad.exe -ot archivo -actn setowner -ownr "n: John" setacl.exe -on "d: \ test" -ot archivo -actn setowner -ownr "n: Servicio NT \Instalador de confianza" setacl.exe -on "d: \ test" -ot archivo -actn setowner -ownr "n: Administradores" setacl.exe -en "d: \ test" -ot archivo -actn setowner -ownr "n: John"

Ejemplos: cambiar de propiedad de forma recursiva:

Opción 1: Para establecer la propiedad de una carpeta y sus subcarpetas (no para archivos) de forma recursiva, utilice uno de estos ejemplos:

setacl.exe -on d: \ prueba -ot archivo -actn setowner -ownr "n: NT Service \ TrustedInstaller" -rec cont. setacl.exe -on d: \ prueba -ot archivo -actn setowner -ownr "n: Administradores" -rec cont. setacl.exe -on d: \ test -ot archivo -actn setowner -ownr "n: Ramesh" -rec cont
  • -rec - la recursividad está habilitada.
  • cont - Recurrir y procesar directorios únicamente.

Opcion 2: Para establecer la propiedad de los archivos en una carpeta y sus subcarpetas (no carpetas) de forma recursiva, utilice uno de estos ejemplos:

setacl.exe -on d: \ test -ot archivo -actn setowner -ownr "n: NT Service \ TrustedInstaller" -rec obj. setacl.exe -on d: \ prueba -ot archivo -actn setowner -ownr "n: Administradores" -rec obj. setacl.exe -on d: \ test -ot archivo -actn setowner -ownr "n: Ramesh" -rec obj
  • -rec - la recursividad está habilitada.
  • obj - Recurrir y procesar archivos únicamente.

Opcion 3: Para establecer la propiedad de un carpeta, sus subcarpetas y los archivos recursivamente, use uno de estos ejemplos:

setacl.exe -on d: \ test -ot archivo -actn setowner -ownr "n: NT Service \ TrustedInstaller" -rec cont_obj. setacl.exe -on d: \ test -ot archivo -actn setowner -ownr "n: Administradores" -rec cont_obj. setacl.exe -on d: \ test -ot archivo -actn setowner -ownr "n: Ramesh" -rec cont_obj
  • -rec - la recursividad está habilitada.
  • cont_obj - Recurrir y procesar directorios y archivos.

Ejemplos: Asigne los permisos necesarios para un archivo o carpeta:

Una vez que tenga la propiedad, puede asignar los permisos necesarios para un objeto. Aquí hay unos ejemplos:

Para asignar los permisos para un único archivo o carpeta, use uno de estos ejemplos:

setacl.exe -on "d: \ test \ sample.xlsx" -ot archivo -actn ace -ace "n: Administradores; p: completo " setacl.exe -on "d: \ test \ sample.xlsx" -ot archivo -actn ace -ace "n: John; p: completo "setacl.exe -on" d: \ test "-ot archivo -actn ace -ace" n: Administradores; p: completo " setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: John; p: completo "

Ejemplos: Asigne los permisos necesarios de forma recursiva:

Opción 1: Para carpeta y subcarpetas (no archivos) de forma recursiva, utilice uno de estos ejemplos:

setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: Administradores; p: completo "-rec cont. setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: John; p: completo "-rec cont
  • -rec - la recursividad está habilitada.
  • cont - Recurrir y procesar directorios únicamente.

Opcion 2: Para archivos en una carpeta y subcarpetas (no carpetas) de forma recursiva, utilice uno de estos ejemplos:

setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: Administradores; p: completo "-rec obj. setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: John; p: completo "-rec obj
  • -rec - la recursividad está habilitada.
  • obj - Recurrir y procesar archivos únicamente.

Opcion 3: Para carpeta, sus subcarpetas y los archivos recursivamente, use uno de estos ejemplos:

setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: Administradores; p: completo "-rec cont_obj. setacl.exe -en "d: \ prueba" -ot archivo -actn ace -ace "n: John; p: completo "-rec cont_obj
  • -rec - la recursividad está habilitada.
  • cont_obj - Recurrir y procesar directorios y archivos.

Puede consultar la documentación oficial de SetACL para conocer todas sus capacidades. Sin embargo, para establecer la propiedad y los permisos de archivos y carpetas, takeown.exe e icacls.exe serían más que suficientes para la mayoría de los usuarios.


Una pequeña solicitud: si le gustó esta publicación, por favor comparta esto.

Una "pequeña" parte tuya seriamente ayudaría mucho con el crecimiento de este blog. Algunas buenas sugerencias:
  • Pin it!
  • Compártelo en tu blog favorito + Facebook, Reddit
  • ¡Tuitealo!
Así que muchas gracias por su apoyo, mi lector. No tomará más de 10 segundos de su tiempo. Los botones para compartir están justo debajo. :)