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

PowerShell脚本通过任务计划执行时出现New-Object 80070005权限拒绝错误

任务计划执行PowerShell脚本时无法创建Excel COM对象(权限拒绝错误)

问题描述

我通过批处理文件运行PS1脚本,用于将错误输出记录到文件(直接运行无法获取有效错误信息)。该PS1脚本负责创建Excel实例、打开工作簿、运行宏(宏会刷新数据查询并生成保存多个输出文件)。

在命令行或PowerShell命令行中手动运行完全正常,但通过任务计划使用相同的用户凭据(我的网络用户名和密码)启动该批处理文件时,错误文件中出现如下权限拒绝错误:

New-Object : Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005 Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

已尝试PowerShell 5.1和7.3版本,问题均存在。排查过类似问题但未找到匹配案例,确定是权限问题但不知从何入手。

可能的原因及解决步骤

1. 任务计划会话模式问题

任务计划若选择**"不管用户是否登录都要运行"**,会在非交互式的会话0中执行,而Excel等Office COM组件依赖交互式桌面权限。

  • 解决:修改任务计划设置,选择**"仅在用户登录时运行"**,同时勾选"最高权限运行"。

2. DCOM权限配置缺失

Excel的COM组件未对执行任务的用户开放必要权限,需手动配置:

  1. 按下Win+R,输入dcomcnfg打开组件服务。
  2. 依次展开:组件服务 > 计算机 > 我的电脑 > DCOM配置。
  3. 找到Microsoft Excel Application(若找不到,运行mmc comexp.msc /32打开32位组件服务查找)。
  4. 右键点击选择"属性",切换到"安全"选项卡:
    • 在"启动和激活权限"区域,选择"自定义"后点击"编辑",添加你的用户账户,赋予"本地启动"和"本地激活"权限。
    • 在"访问权限"区域,同样选择"自定义"后点击"编辑",添加你的用户账户,赋予"本地访问"权限。
  5. 保存配置后,重启任务计划服务或重新运行任务。

3. 桌面文件夹权限异常

任务计划执行时可能无法访问用户桌面文件夹,而Excel初始化依赖该路径:

  • 检查用户目录下的Desktop文件夹权限,确保你的用户账户拥有完全控制权限。
  • 若任务在会话0运行,需手动创建C:\Windows\System32\config\systemprofile\Desktop和C:\Windows\SysWOW64\config\systemprofile\Desktop文件夹(若不存在),并赋予执行任务的用户读写权限。

4. Office安装权限问题

确保Office是按"每台计算机"安装(而非仅针对单个用户),若为Click-to-Run版本,需确认DCOM配置中对应的组件权限已正确设置。

5. 明确PowerShell执行策略

虽然手动运行正常,但任务计划可能使用不同的执行策略,可在批处理文件中明确指定:

powershell -ExecutionPolicy Bypass -File "你的脚本路径.ps1" 2>> error.log

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:42:26