Powershell 计划作业不 运行

Powershell Scheduled Jobs Don't Run

我正在尝试自动化配置计划任务的过程,以便我可以在数十台计算机上创建相同的任务。现在,我有一个非常简单的脚本可以添加一个作业:

import-module PSScheduledJob
$trig=new-jobtrigger -Once -At ((get-date).addminutes(1))
Register-scheduledjob -FilePath <Test_File.ps1> -Name "Tester" -Trigger $trig

当来自 ISE 运行 时测试文件工作正常,但在我等待计划任务工作后什么也不做。此外,任务计划程序 GUI 中或当我使用 get-job cmdlet 时什么也没有出现。 运行 get-scheduledjob 不过,我确实看到了 scheduledjob 对象,就像它应该的那样;好像某处断开连接。

最后,我不能在我的环境中下载任何额外的模块,否则我会尝试其他路线。

我是 运行管理员。

更新: 我现在可以在任务计划程序 GUI 中看到任务。但是,每当它 运行s 时,它都会在执行任何操作之前超时。仍然不确定为什么它不能调用我的脚本。

试试这个...您似乎没有指向 powershell,因为该脚本仅用作参数。您尝试安排的操作是 运行 powershell 并且脚本是参数。

$resumeActionscript = '-File "c:\ScriptPath\Script.ps1"'
$act = New-ScheduledTaskAction -Execute "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -Argument $resumeActionscript
$trig = New-ScheduledTaskTrigger -Once -At ((get-date).addminutes(1))
Register-ScheduledTask -TaskName ResumeWFJobTask -Action $act -Trigger $trig -RunLevel Highest

也许这个答案将帮助您完成您可能需要的所有各种设置以获得您想要的结果:

根据您的需要调整设置...

没有关于这组命令的明确文档,而且我能找到的博客文章都充满了语法错误并且结果无法使用。

我猜你没有正确提升(以管理员身份右键单击 运行),或者你需要将任务作为可执行文件启动 powershell,而不是 .ps1 文件。

这并没有直接回答我最初的担忧,但我认为查看此 post 的人会喜欢这个答案。使用批处理脚本而不是 powershell 来创建计划任务。这行代码完美运行:

schtasks /create /tn "Tester" /tr "powershell 'Path_to_PS1'" /sc daily /st 19:00:00

零问题,至少对于这种简单的使用来说是这样。