Powershell支持后台作业
使用start-job
start-job -scriptblock {dir}
使用-AsJob参数
Invoke-Command -ComputerName YourComputer -ScriptBlock {dir} -AsJob -JobName MyJob1
使用计划作业
Register-ScheduledJob -Name MyJob2 -ScriptBlock {dir} -Trigger {New-JobTrigger -Daily -At 2am} -ScheduledJobOption {New-ScheduledJobOption -WakeToRun -RunElevated}
查看作业可以通过Get-Job
查看作业返回的执行结果使用Receive-Job,加上作业的ID或者名称
在查看一次作业的执行结果后,该执行结果会在缓存中被删除,如果想保留执行结果,可以加上参数-keep。
所有的作业是保存在当前启动的powershell进程的缓存中,如果把当前进程关闭,所有的缓存结果都会被删除。
计划作业是例外,他的执行结果保存在磁盘上的。
删除没有执行结果的作业
get-job | where {-not $_.HasMoreData} | remove-job