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

PowerShell脚本配置文件夹权限报错:无法验证Path参数

PowerShell创建文件夹并添加权限的脚本修正

错误原因分析

你的脚本第三行语法完全混乱:

  • 错误地将SetAccessRule方法直接拼接在Get-ACL的Path参数字符串后面,导致Path参数实际变成了无效值,触发"Path参数为空"的报错。
  • 第四行Set-Acl使用相对路径"Testfolder",容易出现路径找不到的问题;Start-Sleep完全没必要,New-Item是同步创建操作,无需等待。

修正后的脚本

# 定义文件夹路径,用变量复用避免重复输入错误
$folderPath = "C:\Users\Gabe\Documents\Testfolder"

# 创建文件夹(Force参数自动处理已存在的情况)
New-Item -ItemType Directory -Force -Path $folderPath

# 获取当前文件夹的ACL对象
$acl = Get-ACL -Path $folderPath

# 创建权限规则:给TestUser1添加完全控制权限(包含继承配置)
$accessRule = New-Object System.Security.AccessControl.FileSystemAccessRule(
    "TestUser1",
    "FullControl",
    "ContainerInherit,ObjectInherit",
    "None",
    "Allow"
)

# 将权限规则添加到ACL对象中
$acl.SetAccessRule($accessRule)

# 将修改后的ACL应用到文件夹
Set-Acl -Path $folderPath -AclObject $acl

# 验证权限是否添加成功
(Get-ACL -Path $folderPath).Access | Format-Table IdentityReference,FileSystemRights,AccessControlType,IsInherited,InheritanceFlags -AutoSize

关键说明

  • 用变量保存路径和ACL对象,让代码更清晰,减少拼写错误。
  • 创建FileSystemAccessRule时添加了继承参数,确保文件夹内的子文件/子文件夹能继承权限(不需要继承的话,可将ContainerInherit,ObjectInherit替换为None)。
  • 直接修改ACL对象后再应用,比原脚本的管道操作更直观,避免路径类错误。

内容的提问来源于stack exchange,提问作者Gabe Platte

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 18:45:29