PowerShell:将所有者应用于每个用户名的多个文件和文件夹



我们有一台服务器,该服务器为所有用户包含我的文档文件夹。一些文件夹所有者更改为管理员。我正在尝试设计一个powershell脚本,该脚本将每个用户的root my我的文档文件夹都应用,并将用户应用于所有子文件夹和文件中的所有者。这可能吗?

我有以下脚本的以下内容,该脚本试图将用户设置为每个文档root文件夹的完整权限:

$FolderPath = "E:mydocuredir"
$MyDocsMain = Get-ChildItem -Path $FolderPath -Directory
Get-ChildItem -Path $FolderPath -Directory | ForEach-Object{
    $HomeFolders = Get-ChildItem $FolderPath $_.Name -Directory
    $Path = $HomeFolders.FullName
    $Acl = (Get-Item $Path).GetAccessControl('Access')
    $Username = $_.Name
    $Ar = New-Object System.Security.AccessControl.FileSystemAccessRule($Username, 'FullControl', 'ObjectInherit', 'InheritOnly', 'Allow')
    $Acl.SetAccessRule($Ar)
    Set-Acl -path $Path -AclObject $Acl
}

首先确保重定向文件夹的共享和根文件夹权限遵循最佳实践。


我将使用NTFSSecurity PS模块(使用其使用的博客(。该模块的命令更容易理解,因为它们跟随他们将通过GUI设置权限。

$FolderPath = "E:mydocuredir"
Get-ChildItem -Path $FolderPath -Directory | ForEach-Object{
    Add-NTFSAccess -Path $_.FullName -Account "domain$($_.Name)" -AccessRights FullControl -AppliesTo ThisFolderSubfoldersAndFiles
}

要设置所有者,用:

替换Add-NTFSAccess命令
Set-NTFSOwner -Path $_.FullName -Account "domain$($_.Name)"

相关内容

  • 没有找到相关文章

最新更新