使用 icacls 为驱动器上的所有 app_data 文件夹设置正确的权限
Using icacls to set correct permissions for all app_data folders on drive
我正在根据大量不同网站的备份设置新服务器。跨备份复制丢失了每个 file/folder 的所有权限,因此我需要设置正确的权限。我知道我可以使用 icacls
手动执行此操作,但我认为如果我能够 运行 一个脚本来查找新驱动器上的所有 app_data
文件夹,并且递归设置 IIS_IUSRS
.
的文件权限
我不知道从哪里开始。谁能帮忙? TIA.
想到的选项:
- Robocopy 的 /Copy 参数有一个
s
安全选项。
- NTFSSecurity 模块,显然在概念上类似于 icalcs。出于显而易见的原因,这是我处理 NTFS 安全性的首选。
Get/Set-Acl
。超出最基本工作的任何事情通常都会让我求助于 .Net 类。不要误会我的意思,PowerShell 在这方面做得很好,但是对于像 NTFS ACL 这样对 Windows 至关重要的东西,我总是期待一些更原生的东西。因此,NTFSSecurity 模块。也就是说,在这种情况下,您只是想复制一个 ACL,它可能像下面这样简单:
$ACLModel = Get-Acl -Path <SourceFolder>
Set-Acl -Path <DestFolder> -AclObject $ACLModel
我正在根据大量不同网站的备份设置新服务器。跨备份复制丢失了每个 file/folder 的所有权限,因此我需要设置正确的权限。我知道我可以使用 icacls
手动执行此操作,但我认为如果我能够 运行 一个脚本来查找新驱动器上的所有 app_data
文件夹,并且递归设置 IIS_IUSRS
.
我不知道从哪里开始。谁能帮忙? TIA.
想到的选项:
- Robocopy 的 /Copy 参数有一个
s
安全选项。 - NTFSSecurity 模块,显然在概念上类似于 icalcs。出于显而易见的原因,这是我处理 NTFS 安全性的首选。
Get/Set-Acl
。超出最基本工作的任何事情通常都会让我求助于 .Net 类。不要误会我的意思,PowerShell 在这方面做得很好,但是对于像 NTFS ACL 这样对 Windows 至关重要的东西,我总是期待一些更原生的东西。因此,NTFSSecurity 模块。也就是说,在这种情况下,您只是想复制一个 ACL,它可能像下面这样简单:
$ACLModel = Get-Acl -Path <SourceFolder>
Set-Acl -Path <DestFolder> -AclObject $ACLModel