使用 PowerShell 将文件访问权限分配给 IIS_IUSRS

Assigning file access rights to IIS_IUSRS using PowerShell

我正在尝试使用 PowerShell 将用户组 IIS_IUSRS 的访问权限添加到文件夹。

目前我有

$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("BUILTIN\IIS_IUSRS", "FullControl", "Allow")
$acl = Get-ACL "C:\tmp"
$acl.AddAccessRule($accessRule)
Set-ACL -Path "C:\tmp" -ACLObject $acl

当 运行 时,这会将 IIS_IUSRS 添加到用户列表,但没有分配任何权限。

我错过了什么?

在我的系统上我只需要使用 IIS_IUSRS,所以放弃 BUILTIN\。 此外,我认为您需要使用额外参数 inheritanceFlagspropagationFlags 构造 FileSystemAccessRule 以获得您想要的内容。

试试这个:

$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("IIS_IUSRS", "FullControl", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl = Get-ACL "C:\tmp"
$acl.AddAccessRule($accessRule)
Set-ACL -Path "C:\tmp" -ACLObject $acl

参见:https://msdn.microsoft.com/en-us/library/sfe70whw(v=vs.110).aspx