¿Hay alguna manera de mostrar el propietario de carpetas y archivos desde la línea de comando en el símbolo del sistema de Windows 7?
¿Puedes cambiar el propietario de una carpeta o archivo a algún usuario "arbitrario" que no sea tu propio nombre de usuario?
Tengo algunas carpetas (y archivos) que estánprobablementerestos de una aplicación que eliminé. Si intento ver el contenido de las carpetas, me dicen que no tengo permiso para hacerlo, incluso si estoy ejecutando como "Administrador".
Puedo "Tomar posesión" (supongo que esto será exitoso, pero aún no lo he probado) de las carpetas (archivos), pero si necesito revertir la propiedad al propietario anterior, necesito saber el nombre de usuario del original. propietario, y necesito poder "darle propiedad" a ese usuario.
¿Es posible hacer esto desde el símbolo del sistema de Windows (o si no, desde una herramienta GUI)?
Respuesta1
Puede tomar posesión desde la línea de comando a través deltomar posesióncomando y a través de la GUI de Windows.
Puede ver el propietario de un archivo/carpeta utilizando eldireccióncon un parámetro /q
Puede ver (y tomar) propiedad a través de la GUI de Windows haciendo clic derecho en el objeto en el Explorador de Windows (archivo o carpeta), seleccionandoPropiedadesy luego navegando hasta elSeguridadpestaña. Sobre elSeguridadpestaña, haga clic enAvanzadoy en la siguiente pantallaConfiguración de seguridad avanzadacuadro de diálogo, navegue hasta elDueñopestaña.
Una vez que haya tomado posesión de un archivo/carpeta, Windows no rastrea al propietario anterior, por lo que no hay forma de volver al propietario anterior. Además, no existe ningún concepto de propiedad o permisos de archivos si está trabajando con un tipo de sistema de archivos que no admite estos atributos extendidos, como FAT16, FAT32, exFAT, etc.
Respuesta2
Puede utilizar wmic
para consultar la información de propiedad de esta manera:
wmic path Win32_LogicalFileSecuritySetting where Path="C:\\windows\\winsxs" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID
No lo use dir
ya que la información de propiedad puede recortarse, como ocurre con este directorio de ejemplo.
Para obtener una salida formateada, DOMAIN\USER
puede utilizar el siguiente script por lotes:
@ECHO OFF
SETLOCAL EnableDelayedExpansion
REM Escpe the backslash with \\
SET ESCAPED=%~f1
SET ESCAPED=!ESCAPED:\=\\!
wmic path Win32_LogicalFileSecuritySetting where Path="!ESCAPED!" ASSOC /RESULTROLE:Owner /ASSOCCLASS:Win32_LogicalFileOwner /RESULTCLASS:Win32_SID > "%temp%\wmi.tmp"
for /F "skip=2 delims=€" %%G in ('type %temp%\wmi.tmp') do (call :process_wmioutput "%%G")
goto :continue
:process_wmioutput
SET UNDELIMITED=%1
SET DELIMITED=!UNDELIMITED: =€!
FOR /F "delims=€ tokens=10,12" %%G in ("!DELIMITED!") DO (ECHO %%H\%%G)
exit /B
:continue
Respuesta3
cacls
yicalcs
puede editar permisos ytakeown
permite tomar posesión. AFAIK también existen en Windows 7. Normalmente, una vez que haces untakeown
, lo sigues concacls
oicalcs
para otorgarse permisos sobre el objeto.
El modelo de seguridad de Microsoft no permitedarpropiedad a alguien, sólo allevarél. De esa manera, un administrador (o un usuario con privilegios) no puede tomar posesión de un archivo al que no puede acceder directamente, acceder a él o modificarlo, y devolvérselo al propietario original sin previo aviso.
Editar: el crédito va aArtepara la descripción del uso detakeown
.
Respuesta4
Si lo usa solo DIR
en el mundo de Microsoft, pruebe la /Q
opción.
Por ejemplo:
DIR *.xlsx /Q