具有不同参数的多线程PowerShell脚本

时间:2017-02-06 11:49:02

标签: multithreading powershell optimization

我试图运行一个Powershell脚本,该脚本在日期范围内从APM设备提取数据。但是,一周的日期范围可能需要长达9个小时。当我按日期在for循环中运行时,需要35分钟:

for($i = 0; $i -lt $dateList.Length-1; $i++){
    & "C:\Scripts\Grabber.ps1" -date  $dateList[$i] -date2 $dateList[$i+1]
}

我需要进一步优化。我看过PoshRSJobInvoke-Parallel,但我似乎无法理解这一点!感谢您的帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

那么,只需在脚本块中包含您的脚本吗?

for($i = 0; $i -lt $dateList.Length-1; $i++){
    start-rsjob -name {$_} -ScriptBlock {
        & "C:\Scripts\Grabber.ps1" -date  ($using:dateList)[$using:i] -date2 ($using:dateList)[$using:i+1] 
    }
}