首页 文章

Powershell计划的工作不运行

提问于
浏览
0

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

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 ,我确实看到了schedulejob对象就像它应该的那样;似乎某处有脱节 .

最后,我无法在我的环境中下载任何其他模块,否则我会尝试其他路由 .

我作为管理员运行它 .

Update: 我现在看到任务调度程序GUI中的任务 . 但无论何时运行,它都会在执行任何操作之前超时 . 仍然不确定为什么它无法调用我的脚本 .

4 回答

  • 0

    试试这个...似乎你没有指向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
    
  • 0

    也许这个答案将帮助您完成所需的各种设置,以达到您想要的效果:

    Powershell run job at startup with admin rights using ScheduledJob

    根据您的需求定制设置......

  • 1

    对于那组命令没有明确的文档,我可以找到的博客文章都充满了语法错误并且结果无法使用 .

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

  • 0

    这不是直接回答我原来的担忧,但我认为观看这篇文章的人会很感激这个答案 . 使用批处理脚本而不是PowerShell来创建计划任务 . 这行代码完美无缺:

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

    零问题,至少对于这个简单的用途 .

相关问题