2017-09-22 7 views
0

Je veux exécuter un script en démarrant une application sous Windows lorsque la machine est démarrée/redémarrée.Comment programmer un script PowerShell à exécuter juste après le démarrage sous Windows?

J'ai essayé l'applet de commande Register-ScheduledJob:

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

Cependant, rien est exécuté au démarrage et le dossier de sortie sur

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

L'outil Planificateur de tâches ne montre rien aussi.

my_script.ps1 commence simplement un pot de Java comme suit:

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 

Même si je tente d'exécuter le travail avec -DefinitionName Start-Job MyJob, rien ne se passe bien qu'il génère que son fonctionnement ...

Des idées?

Répondre

0

La seule façon que je sais est si vous l'exécutez dans la tâche 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] 
0

Je voudrais créer un Task dans Task Scheduler et définir le Trigger comme "Lorsqu'un événement spécifique est connecté"

Ensuite, définissez Log: à système et Source: à Kernal-General et Event ID: à (ou tout autre événement sur lequel vous souhaitez déclencher le script). semble toujours tirer après une botte.

Sous Action sélectionnez Démarrer un programme et mis programme/script-PowerShell. Dans Ajouter des arguments (facultatif): entrez -file "C:\YourDirectory\YourScript.ps1".