При создании перемещенных папок пользователей, на папки накладываются права доступа с исключительными правами для пользователя. Даже админ, по умолчанию, не имеет доступа.
Посему есть необходимость предоставить админу эти права, или предоставить их пользователю, от имени которого происходит резервное копирование.
Немного покопавшись сотворился скрипт на 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)
Скрипт запускается через планировщик задач от имени "СИСТЕМА"
Посему есть необходимость предоставить админу эти права, или предоставить их пользователю, от имени которого происходит резервное копирование.
Немного покопавшись сотворился скрипт на 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)
Скрипт запускается через планировщик задач от имени "СИСТЕМА"