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

任务计划程序运行含Get-WmiObject的PowerShell脚本时遇拒绝访问错误

任务计划程序运行PowerShell脚本WMI访问被拒绝的解决方法

问题背景

通过任务计划程序运行PowerShell脚本时触发「拒绝访问」错误,但直接在PowerShell控制台执行该脚本完全正常。已按微软文档配置DCOM和WMI权限,且为运行任务的用户授予了「作为批处理作业登录」权限。涉及关键命令及任务计划配置如下:

  • WMI查询命令:
    Get-WmiObject Win32_Service -Filter "Name Like '%<service_name>%'"
    
  • 任务计划执行命令:
    powershell.exe -executionpolicy bypass -windowstyle hidden -noninteractive -nologo -file "name_of_script.ps1"
    

解决方案

  • 替换为CIM命令
    旧版WMI命令在批处理/任务计划场景下权限兼容性较差,改用CIM命令可规避多数权限问题,修改后的命令为:

    Get-CimInstance Win32_Service -Filter "Name Like '%<service_name>%'"
    
  • 完善任务计划的用户权限配置

    • 确保任务计划指定的用户拥有本地管理员权限(本地WMI的部分操作仍需管理员级权限)
    • 在任务计划「常规」选项卡中,勾选「不管用户是否登录都要运行」,并强制勾选「使用最高权限运行」
    • 检查本地安全策略,确认该用户未被列入「拒绝作为批处理作业登录」列表
  • 细化WMI命名空间权限
    运行wmimgmt.msc打开WMI控制台,右键「WMI控制(本地)」→「属性」→「安全」选项卡,展开Root\CIMV2命名空间:

    • 为运行任务的用户分配「启用账户」「远程启用」权限
    • 设置权限应用范围为「这个命名空间及子命名空间」
  • 确保执行策略临时生效
    部分系统的组策略会限制-executionpolicy bypass参数,可在脚本开头添加以下命令,强制临时放宽当前进程的执行策略:

    Set-ExecutionPolicy Bypass -Scope Process -Force
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 15:02:46