windows-server-2008-r2 – 如何使用Powershell修改现有的计划任务?

我正在研究一些使用Power shell更新执行各种应用程序的现有计划任务的发布自动化脚本.在我的脚本中,我可以设置应用程序的路径和工作目录,但似乎不会将更改保存回任务.
function CreateOrUpdateTaskRunner {
    param (
        [Parameter(Mandatory = $TRUE,Position = 1)][string]$PackageName,[Parameter(Mandatory = $TRUE,Position = 2)][Version]$Version,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 (e.g. 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
        }
    }
}

到目前为止,我还没有在文档中找到明显的保存功能(https://msdn.microsoft.com/en-us/library/windows/desktop/aa383607(v=vs.85).aspx).我在这里采取了错误方法,需要搞乱任务XML吗?

RegisterTask方法具有您将使用的更新标志.像这样的东西:
# 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)

有关每个参数的详细信息,请参阅msdn文章.

相关文章

(1)when you ping a computer from itsafe,the ping command should return the local IP address. (...
1、点击win菜单,点击设置图标 2、选择系统选项 3、选择应用与程序选项 4、拉到最下方,选择程序与功能...
目前一直直接往Windows 2008 R2 Server中复制文件(暂时还没有搭建ftp服务),突然不能复制了,于是百度...
windows下使用vscode配合xebug调试php脚本 要下载有php_xebug.dll扩展的版本,最新版可能没有这个扩展,p...
在控制面板的程序与功能里启用和关闭windows功能打开,适用于linux的windows子系统
效果演示 推荐一个非常牛的文档网站生成器:docsify 我通过这个工具,成功将码云上的个人学习笔记发布到...