Как запланировать выполнение сценария powershell сразу после загрузки в Windows?

Я хочу запустить скрипт, запускающий какое-то приложение в Windows, когда машина запускается / перезагружается.

Я пробовал командлет Register-ScheduledJob:

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, ничего не происходит, хотя выводится, что он работает...

Есть идеи?

2 ответа

Единственный способ, который я знаю, это запустить его в планировщике задач.

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]

Я бы создал Task в Task Scheduler и установить Trigger как "Когда регистрируется конкретное событие"

Затем установите Log: в систему и Source: Генерал Кернал и Event ID: до 12 (или любое событие, которое вы хотели бы запустить сценарий). 12, похоже, всегда срабатывает после загрузки.

В разделе "Действие" выберите " Запустить программу" и установите для " Программы / сценария" значение PowerShell, В поле Добавить аргументы (необязательно): введите -file "C:\YourDirectory\YourScript.ps1",

Другие вопросы по тегам