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

Set-ACL 非管理员用户运行文件夹ACL配置脚本权限问题咨询

脚本执行权限配置(解决未签名拦截问题)

首先针对未签名脚本无法运行的问题,根据你使用的脚本类型对应配置:

  • 如果是PowerShell脚本,无需全局修改系统执行策略,仅为目标非Admin用户配置当前用户作用域的执行策略即可,登录目标用户账户后执行命令:
    Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
    该配置仅对当前用户生效,允许本地编写的未签名脚本运行,不会降低系统全局安全等级。
  • 如果是批处理/VBS等其他类型脚本,检查脚本所在目录的执行权限,确认目标用户拥有遍历文件夹/执行文件权限即可。
根目录最小ACL权限配置

你之前的权限配置缺少必要的读取类权限,导致无法读取现有目录结构、校验权限继承关系,最终触发未授权报错。请在你用来创建嵌套文件夹的上级根目录上,为目标非Admin用户/用户组配置如下高级权限,应用范围选择此文件夹、子文件夹和文件:

  • 遍历文件夹/执行文件
  • 列出文件夹/读取数据
  • 读取属性
  • 读取扩展属性
  • 创建文件夹/附加数据
  • 读取权限
  • 更改权限

额外注意事项:

  • 先删除根目录下所有针对该用户的拒绝权限条目,拒绝权限优先级高于允许权限,会导致配置的允许权限失效
  • 如脚本需要修改创建后文件夹的所有者,额外授予取得所有权权限即可,普通场景下创建者默认拥有自建对象的权限编辑权,无需该配置
脚本优化建议

你可以在脚本中加入身份校验逻辑,从代码层面禁止管理员用户执行,避免权限溢出:

# PowerShell 身份校验示例,管理员身份直接退出
$currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())
if ($currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) {
    Write-Host "该脚本仅允许非管理员用户运行"
    exit 1
}

配置完成后可先做手动校验:用目标用户账户登录,手动在根目录下创建文件夹、修改该文件夹的ACL,确认手动操作无报错后再运行脚本,可快速排除脚本逻辑问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 00:15:01