Настройка NTFS прав для файлов и папок

Март 25, 2019

Много букв, поэтому читаем подробный первоисточник с примерами и картинками по натройке NTFS-прав - тыц сюда

Управление ACL NTFS скриптами PowerShell – тыц сюда

А если по сути, все то, что мне надо было оттуда, я реализовал в скрипте ниже -

<# скрипт дает права на создание файлов и папок, но при этом не дает возможности удалять #>

$t="001"
$NewDir="D:\Folder_"

<# создать папку D:\Folder_XXX #>
New-Item -ItemType Directory -Force -Path $NewDir$t

$acl = Get-ACL -Path $NewDir$t

<# формирование имени группы #>
$pref = "MYDOMAIN\GR.Manager_"

$suf1 = "_Boss"
<# группа1 MYDOMAIN\GR.Manager_XXX_Boss #>
$groupname1=$pref+$t+$suf1

$suf2 = "_Retail"
<# группа2 MYDOMAIN\GR.Manager_XXX_Retail #>
$groupname2=$pref+$t+$suf2

$rule1 = new-object System.Security.AccessControl.FileSystemAccessRule ($groupname1,"fullcontrol","ContainerInherit,ObjectInherit","None","Allow")
$rule2 = new-object System.Security.AccessControl.FileSystemAccessRule ($groupname2,"fullcontrol","ContainerInherit,ObjectInherit","None","Allow")
$rule3 = new-object System.Security.AccessControl.FileSystemAccessRule ($groupname1,"Delete,DeleteSubdirectoriesAndFiles","ContainerInherit,ObjectInherit","None","Deny")
$rule4 = new-object System.Security.AccessControl.FileSystemAccessRule ($groupname2,"Delete,DeleteSubdirectoriesAndFiles","ContainerInherit,ObjectInherit","None","Deny")

$acl.AddAccessRule($rule1)
Set-Acl -Path $NewDir$t -AclObject $acl
$acl.AddAccessRule($rule2)
Set-Acl -Path $NewDir$t -AclObject $acl
$acl.AddAccessRule($rule3)
Set-Acl -Path $NewDir$t -AclObject $acl
$acl.AddAccessRule($rule4)
Set-Acl -Path $NewDir$t -AclObject $acl

Данный скрипт устанавливает следующие NTFS права на папку D:\Folder_001 для пользователей MYDOMAIN\USERGROUP – право создавать папки и файлы без возможности их дальнейшего удаления и редактирования. BINGO!

Leave a Reply

You must be logged in to post a comment.