You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本中为Authenticated Users分配D盘权限失败问题排查

问题排查与修复方案

你的脚本里icacls的权限分配语法出错了,这就是权限没正确配置的核心原因:

  • 首先,Modify(M)权限本身就包含了Write(W)权限,没必要同时指定;而且icacls不支持M,W这种写法来组合权限。
  • 其次,默认情况下icacls只给当前目录分配权限,不会继承到子目录和文件,如果你需要权限向下传递,得加上继承标识。

修正后的脚本

$systemDrives = Get-PSDrive -PSProvider FileSystem | Where-Object { $_.Name -eq "D" }
foreach ($driveLetter in $systemDrives) {
    $path = $driveLetter.Root
    # 静默移除Authenticated Users的权限
    icacls $path /remove "Authenticated Users" /q
    # 分配带继承的Modify权限(已包含Write)
    icacls $path /grant "Authenticated Users:(OI)(CI)M" /q
}

关键细节说明

  • (OI)(CI)是继承标识:(OI)让权限应用到目录下的文件,(CI)让权限应用到子目录,缺省的话权限只停留在D盘根目录本身
  • M代表Modify权限,涵盖了Write、Read & Execute、List Folder Contents、Read这些权限,完全满足你的需求
  • /q参数用来静默执行,避免每次操作都弹出确认提示
  • 如果确实只需要单独的Write权限(不需要Modify包含的其他权限),可以把权限部分改成:"Authenticated Users:(OI)(CI)W"

内容的提问来源于stack exchange,提问作者snehasish nandy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 20:58:19