¿Cómo obtengo permisos para eliminar archivos en Windows 7?

64

Actualicé el sistema operativo de mi computadora portátil de Windows XP a Windows 7. Ahora hay algunos archivos sobrantes de Windows XP en la computadora. Si intento eliminarlos, aparece el siguiente error:

Necesitas permiso para realizar esta acción.

Necesita permiso de S-1 -.... para realizar cambios en esta carpeta.

Lo extraño es que he iniciado sesión con la única cuenta de usuario en esta máquina y tengo privilegios de administrador. Intenté desactivar UAC, pero aún no puedo eliminar los archivos.

¿Cómo puedo forzar la eliminación de estos archivos?

lajos
fuente

Respuestas:

85

Es posible que al actualizar, el antiguo usuario de XP no se haya convertido bien a Windows 7, por lo tanto, estos archivos son propiedad de un usuario fantasma. Puedes seguir los siguientes pasos:

  1. Tomar posesión de los archivos. Inicie un símbolo del sistema (cmd) como administrador e ingrese:

    takeown /f file
    takeown /f directory /r
    
  2. Date todos los derechos sobre el archivo:

    cacls file /G username:F
    cacls directory /T /G username:F
    

caclsse puede usar con comodines y recorrido de directorio. Consulte también:
Seguridad desde la línea de comandos con el comando CACLS
CACLS

Para ver un script de Visual Basic más evolucionado, consulte: Xcacls.vbs para modificar los permisos NTFS .

harrymc
fuente
1
El comando takeown produce un error: C: \> takeown / f olddir / r ERROR: El usuario conectado actualmente no tiene privilegios de propiedad en el archivo (o carpeta) "C: \ olddir".
lajos
66
¿Lanzaste el símbolo del sistema haciendo clic derecho en cmd.exe y "Ejecutar como administrador"?
harrymc
1
Gracias por señalar eso. No corrí como administrador. ¡Está funcionando ahora!
lajos
11
Todavía recibo "ERROR: acceso denegado" incluso después de ejecutar cmd como administrador.
BT
2
@Pacerier: Sí, llamo "fantasma" a una cuenta de usuario (no incorporada) creada en una computadora, por lo que no existe en otra.
harrymc
29

Los argumentos de la línea de comando para tomar posesión deben estar en este orden

takeown / f <directory> / r
/ f nombre de archivo o patrón de nombre de directorio
/ r recurse

NOTA: caclsahora está en desuso, utilice icacls

icacls <directorio> / grant <usuario>: f / t
 f acceso completo
/ t recurse
Lessan Vaezi
fuente
5

En mi caso, tomar posesión no era suficiente en Windows 7 para mis circunstancias particulares (mi instalación de Windows 7 se realizó usando Symantec Backup Exec desde otra máquina y la carpeta estaba bajo control de origen).

Tuve que realizar dos pasos más:

  1. Haga clic con el botón derecho en la carpeta que contiene los archivos que desea eliminar y seleccione 'Propiedades' -> 'Seguridad' -> 'Avanzado' -> seleccione su usuario -> 'Cambiar permiso' -> Marque "Reemplazar todos los permisos de objetos secundarios con permisos heredables de este objeto "

  2. Elimine los archivos en las carpetas manualmente desde lo más interno hasta la raíz. Elimine las carpetas una vez que estén vacías, es decir, si tiene "carpeta1-> carpeta2" primero elimine el contenido de la carpeta2, luego elimine la carpeta2, etc.

Si las otras soluciones no son suficientes, puede probar estos pasos adicionales.

Durden81
fuente
1

Ese S-1-...es un GUID sobrante de la instalación anterior. Obviamente NEWSYSTEM\Administratorno es parte del OLDSYSTEM\Administratorsgrupo.

Debe tomar posesión de la unidad, dejar que los cambios se propaguen, luego debería poder eliminar los archivos.

tsilb
fuente
1

Por lo general takeowny (i)caclshacer el trabajo.

Alternativamente, puede usar Unlocker para eliminarlo (probablemente requerirá reiniciar),
o usar PsExec de Sysinternals para obtener privilegios de usuario del SISTEMA y eliminar esos archivos (este funcionará en algunos archivos, puede fallar en otros).

Pero si esa carpeta tiene muchos archivos, los takeownprivilegios tardarán mucho tiempo (me tomó unos 20 minutos, depende de la velocidad del disco duro). Entonces, en este caso, cualquier LiveCD / DVD / USB es más rápido, ya que no requieren ningún privilegio para eliminar la carpeta.

Chorro
fuente