您好我正在尝试在我们的任务调度程序中修改我们的某个计划任务的操作,但出于某种原因,它不会改变任何事情。
这是我的代码:
function CreateOrUpdateTaskRunner(){
$taskScheduler = New-Object -ComObject Schedule.Service
$taskScheduler.Connect("localhost")
$taskFolder = $taskScheduler.GetFolder('\')
$task = $taskFolder.GetTask('Rebuild TotalSalesCache Next')
foreach($action in $task.Definition.Actions){
$action.Path = "C:\Users\Administrator\Desktop\TotalSalesCache Builder\RunnerConsole2.exe"
$taskFolder.RegisterTask([string]$task.Name, $task.Definition.XmlText, 4, "REMOVED", "REMOVED", 1, $null)
}
}
执行代码时,不会抛出异常,但任务本身不会更新。在foreach
循环后打印出任务也没有显示更新的操作。还有其他方法可以改变任务的动作吗?
答案 0 :(得分:0)
我从来没有在这个问题上找到一个有效的解决方案,但是我做了一个解决方法。
我没有更改计划任务本身的操作,而是创建了一个新的PowerShell脚本,它运行我新部署的应用程序。 我让任务调度程序运行我新创建的脚本,然后在我的正常部署脚本中更改了此脚本的内容。