如何根据实际所有者递归更改所有者

时间:2013-09-09 20:23:22

标签: powershell file-ownership

我只是PowerShell的初学者,但我已经确定它是一种强大的语言。 我想用我的第一个脚本做一个简单的事情:“根据实际所有者递归更改文件和文件夹的所有者”。 但我意识到它不会像我想象的那么容易。 我的一个问题是某些文件或文件夹名称有[方括号]。

这是我的剧本:

$FolderToScan = "D:\Sauvegardes"
$OldOwner = "BUILTIN\Administrateurs"
$NewOwner = New-Object System.Security.Principal.NTAccount("MON-Domaine","MON-Utilisateur")

$files = Get-ChildItem -LiteralPath $FolderToScan -Recurse

Foreach ($file in $files)
{
    $f = Get-Item -LiteralPath $file.FullName
    $f = $f.GetAccessControl()
    If ($f.Owner -eq $OldOwner) {
        $f.SetOwner($NewOwner)
        Set-Acl -path $file.FullName -aclObject $f
    }
}

你对此有何看法? 请帮忙。

0 个答案:

没有答案