?

Log in

No account? Create an account

Заметки админа

Суров и справедлив

Previous Entry Share Next Entry
Добавление прав доступа с использованием PowerShell
Рыба
hroft_clone3
При создании перемещенных папок пользователей, на папки накладываются права доступа с исключительными правами для пользователя. Даже админ, по умолчанию, не имеет доступа.
Посему есть необходимость предоставить админу эти права, или предоставить их пользователю, от имени которого происходит резервное копирование.
Немного покопавшись сотворился скрипт на PowerShell


$Domain="DomainName\" # Netbios имя домена
$UserName="UserName" # Пользователь, кому предоставить полные права на папку и все подпапки
$dir="c:\UserData" # Папка, на которую накладываются права
$days=3 # За сколько последних дне обрабатывать папки. Обрабатываются подпапки младше, чем указано в переменной
$User=$Domain+$UserName


function SubTree ( $folder)
{ cd $folder
$tmp_='0'
Get-ChildItem | ForEach-Object -Process {if ($_.PSIsContainer -and ( ((get-date)-$_.creationTime).days -lt $days ) )
{$acl = Get-ACL -Path $_.FullName;
$Rule=new-object System.Security.AccessControl.FileSystemAccessRule $User,"FullControl ","ContainerInherit, ObjectInherit",'none',"allow";
$acl.AddAccessRule($Rule);
write-output $_.FullName;
Set-Acl -Path $_.FullName -AclObject $acl;
$tmp_=$_.FullName;
SubTree($tmp_)}}}


cd $dir
SubTree ($dir)


Скрипт запускается через планировщик задач от имени "СИСТЕМА"