Мен қашып кеттім!
Міне, мен не істеуім керек. Біз жаңа доменге көшіп кеттіңіз, негізінен серверде іске қосуға болатын сценарий қажет, ол барлық каталогтар мен файлдарды әрқайсысы үшін ACL-ге қарайтын болады. Ол OLDDOMAIN \ USER және т.б. үшін ACL іздейді, егер табылған 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 пәрменінде орындалмайды
Кез келген идеялар? Шашты осында алып тастау: Р
Рахмет