Выполнив рабочему компьютеру плановый апгрейд, в процессе переноса файлов и папок со старого диска на новый возникла проблема с тем, что система не давала доступа к некоторым файлам и папкам старого диска (например, к файлам пользователя в папке users) мотивируя тем, что у них другой владелец. При попытке через меню «Свойства» — «Безопасность» (выбрать своего пользователя, установить галку «Полный доступ» — «Применить«) отдавалась ошибка «Ошибка при применении параметров безопасности к папке ****»
Быстрый гуглинг помог найти простое и проверенное решение.
Всё что нужно для получения инструмента смены владельца папки или файла — это внести в реестр следующие изменения:
Внимание! Если Вы не знаете как и куда их добавлять — не нужно этого делать, просто скачайте файлик по ссылке «Скачать твик» под нужным вариантом и после скачивания — кликните по нему правой кнопкой мышки и в появившемся меню выберите пункт «Слияние» — «Да«. Это будет безопаснее чем без необходимых знаний вручную ковырять реестр…
Если у вас русская Windows 7 , то в реестр нужно добавить вот эти строки :
[HKEY_CLASSES_ROOT*shellrunas] @="Смена владельца" "Extended"="" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOT*shellrunascommand] @="cmd.exe /c takeown /f "%1" && icacls "%1" /grant администраторы:F" "IsolatedCommand"="cmd.exe /c takeown /f "%1" && icacls "%1" /grant администраторы:F" [HKEY_CLASSES_ROOTDirectoryshellrunas] @="Смена владельца" "Extended"="" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOTDirectoryshellrunascommand] @="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant администраторы:F /t" "IsolatedCommand"="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant администраторы:F /t"
А если английская, то чуть по другому. Разница состоит в том, что в русской и английской версии по разному называются группы пользователей. Поэтому если выбрать неправильный вариант — работать не будет:
[HKEY_CLASSES_ROOT*shellrunas] @="Стать владельцем и задать полный доступ к объекту" "Extended"="" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOT*shellrunascommand] @="cmd.exe /c takeown /f "%1" && icacls "%1" /grant administrators:F" "IsolatedCommand"="cmd.exe /c takeown /f "%1" && icacls "%1" /grant administrators:F" [HKEY_CLASSES_ROOTDirectoryshellrunas] @="Стать владельцем и задать полный доступ к объекту" "Extended"="" "NoWorkingDirectory"="" [HKEY_CLASSES_ROOTDirectoryshellrunascommand] @="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant administrators:F /t" "IsolatedCommand"="cmd.exe /c takeown /f "%1" /r /d y && icacls "%1" /grant administrators:F /t"
После добавления этих данных в реестр нужно зажать и не отпускать Shift, кликнуть по проблемной папке или файлу правой кнопкой мышки и выбрать пункт «Смена владельца«.
Всё. После этого Вы станете полноправным владельцем файла или папки со всеми доступами.