gpt4 book ai didi

powershell - 如何在Powershell脚本中授予目录权限

转载 作者:行者123 更新时间:2023-12-03 01:25:25 24 4
gpt4 key购买 nike

我在IIS管理器中的网站上单击鼠标右键,然后选择“编辑权限”,然后单击“安全性”选项卡。在这里,我具有具有以下权限的用户IUSR:读取和执行,列出文件夹内容,读取。我还可以使用命令Get-Acl <path> |fl在Powershell中对此进行验证,该命令显示:
访问:NT AUTHORITY \ IUSR允许读取和执行,同步
现在,我完全删除IUSR的ACL条目。我想使用以下行通过Powershell脚本进行设置:

$path=<path to directory>
$acl = Get-Acl "$path"
$AccessRule = New-Object System.Security.AccessControl.FileSystemAccessRule("NT AUTHORITY\IUSR","ReadAndExecute","Allow")
$acl.SetAccessRule($AccessRule)
$acl | Set-Acl "$path"

再次使用 Get-Acl <path> |fl进行验证,我显示了与预期完全相同的信息。但是在IIS管理器中,未设置先前检查的权限。而是选中“特殊权限”。当我单击“高级”并从列表中选择IUSR时,它表明已授予相同的权限:读取和执行,列出文件夹内容,读取
但是我的网站无法正常工作(浏览器抛出错误:HTTP-Errror 401.3-未经授权)。仅当我在权限窗口中手动授予这些权限时,它才起作用。如何在Powershell脚本中正确设置所需的权限?

最佳答案

将我的评论变成答案,这听起来像您还需要为accessrule指定Inheritance and Propagation flags,以便文件夹的子对象继承权限。

$AccessRule = [System.Security.AccessControl.FileSystemAccessRule]::new("NT AUTHORITY\IUSR", "ReadAndExecute", "ContainerInherit,ObjectInherit", "None", "Allow")

关于powershell - 如何在Powershell脚本中授予目录权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63671763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com