【问题标题】:Task Scheduler failed to launch action "powershell.exe" How do i get around this?任务计划程序无法启动操作“powershell.exe”我如何解决这个问题?
【发布时间】:2020-12-30 20:43:54
【问题描述】:

我的脚本相当简单。只是清除了一些 AD 组。

获取-ADGroupMember "ADGroup1" | ForEach-Object {Remove-ADGroupMember "ADGroup1" $_ -Confirm:$false}

获取-ADGroupMember "ADGroup2" | ForEach-Object {Remove-ADGroupMember "ADGroup2" $_ -Confirm:$false}

获取-ADGroupMember "ADGroup3" | ForEach-Object {Remove-ADGroupMember "ADGroup3" $_ -Confirm:$false}

我的操作也很简单。 而且我确实以检查过的最高权限运行。但是我不断收到“操作无法启动”,然后是“任务无法启动”错误和最后结果为“目录名称无效(0x8007010B)非常感谢任何帮助。我在 Windows 10 上运行它。谢谢

【问题讨论】:

  • 你以谁的身份运行任务?
  • @DougMaurer 我自己,与作者相同的帐户。我最终将程序/脚本更改为 C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.EXE 添加参数到 C:\Dev\ADAutomation.ps1 并开始到 C:\Dev\ 现在任务完成了,但是我收到 0x1 错误。
  • 将参数更改为 -file c:\Dev\....

标签: powershell task taskscheduler windows-task-scheduler


【解决方案1】:

在没有参数的powershell 5.1 中,powershell.exe 默认为-Command,您需要指定-File。如果您使用的是 powershell core 6+,则默认为-File,您无需指定。我已经测试并确认您至少需要添加 -File 才能使其正常工作。你也可以像这样清理你的脚本。

"ADGroup1","ADGroup2","ADGroup3" | ForEach-Object {
    Remove-ADGroupMember $_ (Get-ADGroupMember $_) -Confirm:$false
}

【讨论】:

  • 感谢 Doug,但无论我如何更改参数,我都会收到 0x1 错误。会不会是权限问题?
  • 查看历史标签。
【解决方案2】:

你可以试试

Program/Script:
powershell

Add arguments:
.\ADAutomation.ps1

Start in: 
"C:\Dev\"

由于您已经更改了 Start in 目录,因此无需调用整个文件路径。

注意字段开头的逗号

【讨论】:

  • 错误只是稍微更改为现在“任务计划程序无法启动操作”C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.EXE”实例...... "
猜你喜欢
  • 2012-04-28
  • 2010-09-09
  • 1970-01-01
  • 2020-04-12
  • 2015-01-24
  • 1970-01-01
  • 2010-10-26
  • 1970-01-01
  • 2022-07-15
相关资源
最近更新 更多