Как мне создать bat-файл для создания пользовательского каталога с соответствующими правами и скрипт для сброса его, если что-то пойдет не так
Мне нужно создать пользователя и каталоги для пользователя и поделиться им.
Права устанавливаются только для структуры NTFS.
Пользователь должен сделать все, кроме изменения прав и вступить во владение, это не разрешено, и это должно относиться к этой папке, подпапкам и файлам.
До сих пор я получил бит, чтобы создать каталог и поделиться им для всех. Теперь мне просто нужно установить права на каталог, который будет наследоваться по структуре в каталоге пользователя.
Эти права должны быть в корневой структуре NTFS с полным контролем и должны быть во всех папках.
builtin\administrators
system
domain\security
domain\backup
Наконец, мне нужен скрипт, который запускается, когда что-то идет не так, чтобы сбросить права на все пользовательские папки, если техник или субадмин испортили его.
Bat файл для создания пользователя и папок #
net user %1 /add /domain
md \\fileserve2\H$\Userhome\%1
rmtshare \\fileserve2\%1$=H:\Userhome\%1 /remark:"W-drive share for %1"
rmtshare \\fileserve2\%1$ /g Everyone:f
md \\fileserve2\H$\Userconf\%1
rmtshare \\fileserve2\%1$=H:\Userconf\%1 /remark:"Z-drive share for %1"
rmtshare \\fileserve2\%1$ /g Everyone:f
Bat файл для удаления пользователя и папок #
net user %1 /delete /domain
rmtshare \\fileserve2\%1 /delete
rmtshare \\fileserve2\%1$ /delete
DEL \\fileserve2\H$\userconf\%1 /S /F /Q
RD \\fileserve2\H$\userconf\%1 /S /Q
DEL \\fileserve2\H$\Userhome\%1 /S /F /Q
RD \\fileserve2\H$\Userhome\%1 /S /Q
Надеюсь, что кто-нибудь поможет мне и направит меня в правильном направлении.
1 ответ
Чтобы установить разрешения для папки, вы можете использовать icacls.exe. В вашем примере вы можете использовать:
icacls \\fileserve2\H$\Userhome\%1 /grant administrators:(oi)(ci)m /grant system:(oi)(ci)m /grant domain\security:(oi)(ci)m /grant domain\backup:(oi)(ci)m
Обратите внимание, что вы можете добавить несколько "/ грантов". '(Oi)(ci)' обеспечивает наследование подкаталогов и файлов. "М" означает "Изменить".
Следующий скрипт читает все директории в \fileserve2\H$\Userhome и сбрасывает разрешения.
For /f %%a in ('dir \\fileserve2\H$\Userhome\ /b /a:d') do call :SetPermissions %%a
Goto :eof
:SetPermissions
icacls \\fileserve2\H$\Userhome\%1 /grant administrators:(oi)(ci)m /grant system:(oi)(ci)m /grant domain\security:(oi)(ci)m /grant domain\backup:(oi)(ci)m
Для аварийного восстановления вы также можете использовать icacls / save для сохранения прав доступа к файлу. Этот файл можно использовать с icacls / restore для восстановления разрешений. Проверьте http://zeda.nl/index.php/en/backup-file-permissions-en для подробного объяснения.