62

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

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

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

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

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

5 ответов5

83

Возможно, что при обновлении старый пользователь 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.

27

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

takeown /f <directory> /r
/f  filename or directory name pattern
/r  recurse

ПРИМЕЧАНИЕ: cacls устарела, используйте icacls

icacls <directory> /grant <user>:f /t
 f  full access
/t  recurse
4

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

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

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

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

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

0

Это S-1-... - GUID, оставшийся от предыдущей установки. Очевидно, NEWSYSTEM\Administrator не входит в группу OLDSYSTEM\Administrators .

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

0

Обычно на takeown и (i)cacls делают работу.

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .