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

Windows Server 2012使用gMSA创建计划任务失败(错误2147943726)

解决Windows Server 2012中gMSA账户创建计划任务的启动错误

问题根源

错误码2147943726的核心触发点有两个:

  • gMSA账户的登录类型配置错误
  • 任务执行命令的参数格式混淆

具体修正步骤

1. 调整gMSA账户的登录类型

gMSA是域托管的无密码服务账户,因此New-ScheduledTaskPrincipal中的-LogonType必须设置为ServiceAccount,而非你当前使用的Password——gMSA不存在可输入的密码,用Password类型会直接导致登录失败。

2. 修正任务动作的命令参数

你当前的Action参数混淆了cmd.exe和PowerShell的语法:-NoProfile -ExecutionPolicy Bypass是PowerShell的专属参数,不能直接传给cmd.exe。执行bat文件的正确cmd参数格式为/c "C:\Users\####.bat"。

3. 补充gMSA账户的必要权限

除了「作为批处理作业登录」,还需确保:

  • gMSA账户已在本地服务器完成安装,可通过Get-ADServiceAccount -Identity serviceaccount$验证状态
  • 账户对bat文件所在目录(C:\Users\####)拥有读取+执行权限
  • 账户被授予「登录为服务」权限(在本地安全策略的「用户权限分配」中配置)

修正后的完整脚本

# 创建触发器(每天下午3点执行)
$trigger = New-ScheduledTaskTrigger -Daily -At 15:00

# 创建任务动作(执行bat文件)
$action = New-ScheduledTaskAction -Execute cmd.exe -Argument '/c "C:\Users\####.bat"'

# 配置任务基础设置
$Settings = New-ScheduledTaskSettingsSet -RunOnlyIfNetworkAvailable -Compatibility Win8

# 绑定gMSA账户及权限
$principal = New-ScheduledTaskPrincipal -UserId 'domain.local\serviceaccount$' -LogonType ServiceAccount -RunLevel Highest

# 注册计划任务
Register-ScheduledTask -TaskName "test_task_MSA" -Action $action -Trigger $trigger -Settings $Settings -Principal $principal

额外排查建议

  • 手动运行bat文件,确认脚本自身无逻辑或权限错误
  • 可在任务设置中添加-RunWhetherUserIsLoggedOnOrNot参数,确保任务在无用户登录时也能启动
  • 查看任务计划程序的「历史记录」标签,获取更详细的错误上下文

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 11:05:02