пакетный скрипт, который предоставляет права администратора и проходит по всем файлам и папкам

пакетный скрипт, который предоставляет права администратора и проходит по всем файлам и папкам

У меня есть это, конечно, это немного грубо, но свою работу выполняет, дает мне все права на файлы и папки на диске при запуске на диске, теперь мне нужна помощь, чтобы заставить его заходить в подкаталоги, чтобы мне не нужно было копировать скрипт bat в каждую папку и запускать его.

takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F

Как мне заставить его рекурсивно обходить диск?

решение1

Короткий ответ: добавить /tв (i)cacls

Длинный ответ:

Вот мой скрипт, который я использую, когда хочу, чтобы файл был доступен любому пользователю. Он включает комментарии о том, что делает каждый флаг. Просто поместите это в пакетный файл где-нибудь в папке %AppData%.

REM --v2 -----------------------------------------------------------
takeown /r /d y /f %1
icacls %1 /t /grant Everyone:F

REM takeown /r /d y /f will set the owner to the Administrators group recursively.
REM /t makes it recursive
REM /grant Sets the permision to the following user, replaces existing permissions for the specified uesr.
REM :f Grants full controll permission.
REM ----------------------------------------------------------------

REM --v1 -----------------------------------------------------------
REM cacls %1 /t /e /g Everyone:f

REM /t makes it recursive
REM /e Edits the ACL instead of replaceing it
REM /g Grants permissions to the following users
REM :f Grants full controll permission.
REM ----------------------------------------------------------------

Затем %AppData%\Microsoft\Windows\SendToсоздайте ярлык для пакетного скрипта.

Отредактируйте свойства этого ярлыка, перейдите к пункту Advanced...и установите флажокRun as Administrator.

введите описание изображения здесь

Теперь в вашем right click menu -> Send Toу вас будет элемент с именем Fix Permissionsлюбой файл или папка, над которыми вы делаете, Send Toбудут иметь группу Everyone, заданные Full Accessразрешения. Если вы выполните это над папкой, он рекурсивно пройдет по ней и применит разрешения ко всем дочерним элементам в папке.


Я сохраняю пакетный файл в %AppData%папке, поскольку я нахожусь в домене, и это делает его частью моего перемещаемого профиля, поэтому он будет включен и готов к использованию на любом компьютере, к которому я подключусь.

решение2

Будет ли это работать для сетевых ресурсов?

Takeown /f *
icacls * /grant Administrator:F
icacls * /grant Administrators:F
icacls * /grant SYSTEM:F
icacls * /grant "Authenticated Users":F
icacls * /grant "doamin\users":R

Связанный контент