Bir klasörün altındaki tüm alt klasörler ve dosyaların sahibini, üst klasörün sahibi ile değiştirmek istiyorum. Aşağıdaki gibi bir betik işe yaradı.
param(
[Parameter(Mandatory=$true)][string]$Path
)
$acl = Get-Acl -Path $Path
$cevap = Read-Host "$Path ve altindaki dosya ve klasorlerin sahibini $($acl.Owner) olarak degistirelim mi? (e/H)"
if ($cevap -eq "e" -or $cevap -eq "E") {
Get-ChildItem -Path $Path -Recurse | ForEach-Object {
try {
$item = $_
$itemAcl = Get-Acl -Path $item.FullName -ErrorAction Stop
$itemAcl.SetOwner([System.Security.Principal.NTAccount]$acl.Owner)
Set-Acl -Path $item.FullName -AclObject $itemAcl -ErrorAction Stop
Write-Host "Tamam " -ForegroundColor Green -NoNewline
Write-Host $item.FullName
}
catch {
Write-Host "Hata " -ForegroundColor Red -NoNewline
Write-Host $item.FullName
}
}
} else {
Write-Host "Islem iptal edildi."
}
Hiç yorum yok:
Yorum Gönder