Я в тупике!
Вот что мне нужно сделать.Мы мигрировали в новый домен, мне в основном нужен сценарий, который мы можем запустить на сервере, который будет прокручивать все каталоги и файлы, просматривая ACL для каждого.Он будет искать ACL для OLDDOMAIN \ USER и т. Д., Если найден, измените ACL на NEWDOMAIN \ USER, но сохраните все разрешения
Вот что у меня есть
$access = ""
$accessarray = @()
$filesarray = @()
$permarray = @()
$filesarray = Get-ChildItem C:\Users -Recurse
ForEach($path in $filesarray) {
$pathcheck = $path.fullname
$access = get-acl $pathcheck
$accessarray = $access.AccessToString.Split(",")
foreach ($item in $accessarray) {
if ($item -match "OLDDOMAIN") {
Write-Host $pathcheck
Write-Host $item
$item = $item -replace ("OLDDOMAIN","NEWDOMAIN")
$permarray = $item.split(” “) | where-object {$_ -ne ”“}
foreach($perm in $permarray) {
$ar = New-Object system.security.accesscontrol.filesystemaccessrule $perm
$acl.SetAccessRule($ar)
$acl | Set-Acl $pathcheck
}
}
}
}
Работает вродеиз, но проблема в том, что при повторном применении разрешений массив находится не в правильном порядке, и он завершается с ошибкой по команде set-acl
Есть идеи?Потянув меня за волосы сюда: P
Спасибо