Ars*_*rsh 3 powershell scheduled-tasks powershell-4.0
我创建了一个执行PowerShell脚本的计划任务.脚本从远程服务器提取磁盘信息.脚本和其他组件工作正常.我遇到的问题是我无法找到为此计划任务包含另一个Action项的方法(脚本的这一部分从不同的服务器集中提取一些信息,因此希望将它们放在同一个计划任务中).
我是如何尝试的:
$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"
Run Code Online (Sandbox Code Playgroud)
已成功创建计划任务并且DiskInfo-1stSet.ps1
工作正常,但未添加另一个Action任务.我试过了很多变种New-ScheduledTaskAction
,但都没用.
New-ScheduledTaskAction
只是创建一个新的动作.您仍然需要将操作分配给任务.试试这个:
Get-ScheduledTask -TaskName 'CloudOnline-DiskReport' | ForEach-Object {
$actions = $_.Actions
$actions += New-ScheduledTaskAction -Execute 'C:\DiskInfo-2ndSet.ps1'
Set-ScheduledTask -TaskName $_.TaskName -Actions $actions
}
Run Code Online (Sandbox Code Playgroud)
如果要在创建任务期间一次添加所有操作,可以这样做(或多或少取自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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4105 次 |
最近记录: |