Как получить разрешения на удаление файлов в Windows 7?

Я обновил операционную систему моего ноутбука с Windows XP до Windows 7. Теперь на компьютере есть несколько оставшихся файлов из Windows XP. Если я пытаюсь удалить их, я получаю следующую ошибку:

Вам нужно разрешение для выполнения этого действия.

Вам необходимо разрешение от S-1-.... для внесения изменений в эту папку.

Что странно, так это то, что я вошел в систему с единственной учетной записью пользователя на этом компьютере, и у меня есть права администратора. Я попытался отключить UAC, но все еще не могу удалить файлы.

Как я могу принудительно удалить эти файлы?

5 ответов

Решение

Возможно, что при обновлении старый пользователь XP не был хорошо преобразован в Windows 7 - поэтому эти файлы принадлежат фантомному пользователю. Вы можете выполнить следующие шаги:

  1. Взять на себя ответственность за файлы. Запустите командную строку (cmd) от имени администратора и введите:

    takeown /f file
    takeown /f directory /r
    
  2. Дайте себе полные права на файл:

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

cacls может использоваться с подстановочными знаками и обходом каталогов. Смотрите также:
Безопасность из командной строки с помощью CACLS
Команда CACLS

Для более развитого сценария Visual Basic см.: Xcacls.vbs для изменения разрешений NTFS.

Аргументы командной строки для принятия права собственности должны быть в таком порядке

takeown / f <каталог> / r
/ f имя файла или шаблон имени каталога
/ г рекурс

НОТА: cacls сейчас устарела, пожалуйста, используйте icacls

icacls <каталог> / grant <пользователь>: f / t
 полный доступ
/ т рекурс

В моем случае владения в Windows 7 было недостаточно для моих конкретных обстоятельств (моя установка Windows 7 была сделана с использованием Symantec Backup Exec с другого компьютера, и папка находилась под контролем исходного кода).

Мне пришлось выполнить еще два шага:

  1. Щелкните правой кнопкой мыши папку, содержащую файлы, которые вы хотите удалить, и выберите "Свойства" -> "Безопасность" -> "Дополнительно" -> выберите пользователя -> "Изменить разрешение" -> Проверить "Заменить все разрешения дочерних объектов на унаследованные разрешения от этот объект "

  2. Удалите файлы в папках вручную от самого внутреннего до корня. Удалите папки, когда они пусты, т. Е. Если у вас есть "folder1->folder2", сначала вы удаляете содержимое folder2, затем удаляете folder2 и т. Д.

Если других решений недостаточно, вы можете попробовать эти дальнейшие шаги.

Тот S-1-... это GUID, оставшийся от предыдущей установки. очевидно NEWSYSTEM\Administrator не является частью OLDSYSTEM\Administrators группа.

Вы должны стать владельцем диска, позволить изменениям распространяться, и тогда вы сможете удалить файлы.

Обычно takeown а также (i)cacls сделать работу.

Кроме того, вы можете использовать Unlocker, чтобы удалить его (возможно, потребуется перезагрузка),
или используйте PysExec от Sysinternals, чтобы получить привилегии пользователя SYSTEM и удалить эти файлы (этот будет работать для некоторых файлов, может не работать для других).

Но если в этой папке много файлов, потребуется много времени для takeown привилегии (это заняло у меня около 20 минут, зависит от скорости жесткого диска). Так что в этом случае любой LiveCD / DVD / USB работает быстрее, так как им не требуются какие-либо привилегии для удаления папки.

Другие вопросы по тегам