Come posso modificare un'operazione pianificata esistente utilizzando Powershell?

Sto lavorando su alcuni script di automazione di rilascio che utilizzano Powershell per aggiornare le attività pianificate esistenti che eseguono diverse applicazioni. Nel mio script, posso impostare l'Indice di path e di lavoro dell'applicazione, ma non sembra salvare le modifiche all'attività.

function CreateOrUpdateTaskRunner { param ( [Parameter(Mandatory = $TRUE, Position = 1)][string]$PackageName, [Parameter(Mandatory = $TRUE, Position = 2)][Version]$Version, [Parameter(Mandatory = $TRUE, Position = 3)][string]$ReleaseDirectory ) $taskScheduler = New-Object -ComObject Schedule.Service $taskScheduler.Connect("localhost") $taskFolder = $taskScheduler.GetFolder('\') foreach ($task in $taskFolder.GetTasks(0)) { # Check each action to see if it references the current package foreach ($action in $task.Definition.Actions) { # Ignore actions that do not execute code (eg send email, show message) if ($action.Type -ne 0) { continue } # Ignore actions that do not execute the specified task runner if ($action.WorkingDirectory -NotMatch $application) { continue } # Find the executable $path = Join-Path $ReleaseDirectory -ChildPath $application | Join-Path -ChildPath $Version $exe = Get-ChildItem $path -Filter "*.exe" | Select -First 1 # Update the action with the new working directory and executable $action.WorkingDirectory = $exe.DirectoryName $action.Path = $exe.FullName } } } 

Finora non sono riuscito a trovare una function di salvataggio evidente nella documentazione ( https://msdn.microsoft.com/en-us/library/windows/desktop/aa383607(v=vs.85).aspx ). Sto facendo l'approccio sbagliato qui e devo confondere con il task XML?

  • Come posso accedere a un controller di dominio che non si fida di se stesso?
  • FTP restringere l'accesso dell'utente a una specifica cartella
  • Una macchina deve essere unificata al dominio per poter utilizzare Direct Access
  • Come si può accedere automaticamente a più account utente in Windows 2008 R2
  • Server di Windows Server 2008 R2 per l'accesso anonimo NFS
  • La verifica di fiducia dei canali protetta non riesce
  • Windows 2008 R2 Server che utilizza 100% di RAM, non riesce a trovare il process problematico
  • Come sbloccare la session o consentire la "commutazione rapida dell'utente" in RDS su Windows Server 2k8 R2
  • One Solution collect form web for “Come posso modificare un'operazione pianificata esistente utilizzando Powershell?”

    Il metodo RegisterTask ha un flag di aggiornamento che si desidera utilizzare. Qualcosa come questo:

     # Update the action with the new working directory and executable $action.WorkingDirectory = $exe.DirectoryName $action.Path = $exe.FullName #Update Task $taskFolder.RegisterTask($task.Name, $task.Definition, 4, "<username>", "<password>", 1, $null) 

    Vedere l'articolo msdn per i dettagli su ciascun parametro.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.