【问题标题】:Add multiple Action items for Scheduled Tasks为计划任务添加多个操作项
【发布时间】:2015-03-11 05:09:44
【问题描述】:

我创建了一个计划任务来执行 PowerShell 脚本。该脚本从远程服务器中提取磁盘信息。脚本和其他组件工作正常。我遇到的问题是我无法找到为此计划任务包含另一个操作项的方法(这部分脚本从一组不同的服务器中提取一些信息,因此希望将它们放在同一个计划任务中)。

我是如何做到的:

$parlist = @{
  Name = "CloudOnline-DiskReport"
  Trigger = New-JobTrigger -Daily -At "9:15 AM"
  FilePath = "C:\DiskInfo-1stSet.ps1"
  ScheduledJobOption = New-ScheduledJobOption -RunElevated -RequireNetwork -WakeToRun
}

Register-ScheduledJob @parlist

Get-ScheduledJob -Name CloudOnline-DiskReport |
  New-ScheduledTaskAction -Execute "C:\DiskInfo-2ndSet.ps1"

计划任务已成功创建,DiskInfo-1stSet.ps1 工作正常,但未添加另一个 Action 任务。我尝试了New-ScheduledTaskAction 的多种变体,但都没有用。

【问题讨论】:

    标签: powershell scheduled-tasks powershell-4.0


    【解决方案1】:

    New-ScheduledTaskAction 只是创建一个新动作。您仍然需要将操作分配给任务。试试这个:

    Get-ScheduledTask -TaskName 'CloudOnline-DiskReport' | ForEach-Object {
      $actions = $_.Actions
      $actions += New-ScheduledTaskAction -Execute 'C:\DiskInfo-2ndSet.ps1'
      Set-ScheduledTask -TaskName $_.TaskName -Action $actions
    }
    

    如果您想在创建任务期间一次添加所有操作,您可以这样做(或多或少取自 New-ScheduledTask 文档的示例部分):

    $actions   = (New-ScheduledTaskAction –Execute 'foo.ps1'),
                 (New-ScheduledTaskAction –Execute 'bar.ps1')
    $trigger   = New-ScheduledTaskTrigger -Daily -At '9:15 AM'
    $principal = New-ScheduledTaskPrincipal -UserId 'DOMAIN\user' -RunLevel Highest
    $settings  = New-ScheduledTaskSettingsSet -RunOnlyIfNetworkAvailable -WakeToRun
    $task      = New-ScheduledTask -Action $actions -Principal $principal -Trigger $trigger -Settings $settings
    
    Register-ScheduledTask 'baz' -InputObject $task
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-01
      • 2016-10-30
      • 2016-10-03
      • 1970-01-01
      • 2014-03-18
      • 1970-01-01
      • 2011-10-04
      • 2022-01-09
      相关资源
      最近更新 更多