【问题标题】:How to schedule a powershell script to be executed right after booting on Windows?如何安排在 Windows 上启动后立即执行 powershell 脚本?
【发布时间】:2017-09-22 09:21:09
【问题描述】:

我想在机器启动/重新启动时运行一个脚本来启动 Windows 上的某个应用程序。

我尝试了Register-ScheduledJob cmdlet:

Register-ScheduledJob -Name "MyJob" -ScriptBlock {.\C:\Users\Administrator\my_script.ps1 -input_value xyz} -Trigger (New-JobTrigger -AtStartup)

但是,在启动和输出文件夹上没有执行任何操作

$home\AppData\Local\Microsoft\Windows\PowerShell\ScheduledJobs directory

任务计划程序工具也不显示任何内容。

my_script.ps1 简单地启动一个 Java jar,如下所示:

param(
[parameter(Mandatory=$TRUE,Position=0)]
  [string] $input_value
)


write-output "Starting my Java app ... "

start powershell {java -jar slave.jar <<-some params ...>> ; Read-Host}
Exit 0

即使我尝试使用 Start-Job -DefinitionName MyJob 运行作业,尽管它输出它正在运行,但什么也没有发生......

有什么想法吗?

【问题讨论】:

    标签: java powershell taskscheduler windows-server-2016


    【解决方案1】:

    我知道的唯一方法是在任务scheduler 中运行它。

    schtasks /Create [/S <system> [/U <username> [/P [<password>]]]]
        [/RU <username> [/RP <password>]] /SC <schedule> [/MO <modifier>] [/D <day>]
        [/M <months>] [/I <idletime>] /TN <taskname> /TR <taskrun> [/ST <starttime>]
        [/RI <interval>] [ {/ET <endtime> | /DU <duration>} [/K] [/XML <xmlfile>] [/V1]]
        [/SD <startdate>] [/ED <enddate>] [/IT] [/Z] [/F]
    

    【讨论】:

      【解决方案2】:

      我会在Task Scheduler 中创建一个Task 并将Trigger 设置为“记录特定事件时”

      然后,将 Log: 设置为 System 并将 Source: 设置为 Kernal-General 和 @987654326 @ 到 12(或您想要触发脚本的任何事件)。 12 似乎总是在启动后触发。

      在操作下选择启动程序并将程序/脚本设置为PowerShell。在添加参数(可选):中输入-file "C:\YourDirectory\YourScript.ps1"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-03-12
        • 1970-01-01
        • 2010-11-14
        • 2015-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多