2017-08-22 1 views

Répondre

1

Ce dont vous avez besoin est un RegistrationTrigger, qui - comme je sais - ne peut pas être simplement créé en utilisant New-ScheduledTaskTrigger. Mais il peut être créé en utilisant Get-CimClass:

$trigger = Get-CimClass "MSFT_TaskRegistrationTrigger" -Namespace "Root/Microsoft/Windows/TaskScheduler" 

Informations complémentaires:

Comme l'aide nous a dit, nous pouvons passer plusieurs déclencheurs avec -Trigger:

-Trigger [<CimInstance[]>] 
    Specifies an array of one or more trigger objects that cause a scheduled task to start. 

Ce qui signifie , Que ce qui suit va créer une tâche qui est exécutée immédiatement après la création et après chaque mise à jour inscription:

$trigger1 = New-ScheduledTaskTrigger -Daily -DaysInterval 1 -At 01:00 
$trigger2 = Get-CimClass "MSFT_TaskRegistrationTrigger" -Namespace "Root/Microsoft/Windows/TaskScheduler" 
New-ScheduledTask -Action $action -Trigger @($trigger1, $trigger2) -Description "Beschreibung" -Settings $settings -Principal $principal | Register-ScheduledTask -TaskName "test" 

maintenant - lors de l'exportation de la tâche créée dans un fichier xml, il ressemblera à ce qui suit:

<Task version="1.3" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"> 
    <RegistrationInfo> 
     <Description>Beschreibung</Description> 
     <URI>\test</URI> 
    </RegistrationInfo> 
    <Triggers> 
     <RegistrationTrigger> 
      <Enabled>true</Enabled> 
     </RegistrationTrigger> 
     <CalendarTrigger> 
      <StartBoundary>2017-08-22T01:00:00+02:00</StartBoundary> 
      <Enabled>true</Enabled> 
      <ScheduleByDay> 
       <DaysInterval>1</DaysInterval> 
      </ScheduleByDay> 
     </CalendarTrigger> 
    </Triggers> 
    <Principals> 
     <Principal id="Author"> 
[...] 
+0

Je ne vois pas une option pour 'type CreateOrUpdate' déclencheur – Reddy

+0

@Reddy: S'il vous plaît voir mes modifications. – Clijsters