【发布时间】:2015-10-07 15:56:24
【问题描述】:
我在 Windows Server 2012 的任务计划程序中有几个计划任务。我通过 PowerShell 运行这些任务
$Tasks = Get-ScheduledTask -TaskPath "\PathHere\"
Foreach($task in $Tasks)
{
Start-ScheduledTask | Where {$_.TaskName -notlike 'someExample'}
}
我正在寻找一种方法来检查任务何时完成。我想我可以在$Tasks 中检查任务的状态,但是当编写示例代码来复制问题时......
$task = Get-ScheduledTask someTask -TaskPath "\PathHere\"
Write-Host "State: $($task.State)"
Start-ScheduledTask $task.TaskName -TaskPath "\PathHere\"
Write-Host "State: $($task.State)"
我预计这段代码会产生Ready,然后是Running,但它最终打印出Ready,Ready。
我还注意到,当任务正在进行时,任务计划程序中的状态并没有改变,就像右键单击并选择运行时一样。详情请见this thread。
我正在寻找任何方法来检查任务是否在 PowerShell 中完成。
我在 PowerShell 中四处寻找某种形式的回调,但找不到任何东西。
【问题讨论】:
标签: powershell scheduled-tasks powershell-4.0