加速PowerShell';s测试连接
这是一个非常简单的平均ping计算器。它从for循环中获取ip地址,然后将结果放入多维数组中进行排序。我需要以某种方式加速这个脚本,因为它需要5分钟以上的时间来计算。我读过关于asjob的文章,但我不明白如何在我的脚本中暗示这一点。提前谢谢加速PowerShell';s测试连接,powershell,Powershell,这是一个非常简单的平均ping计算器。它从for循环中获取ip地址,然后将结果放入多维数组中进行排序。我需要以某种方式加速这个脚本,因为它需要5分钟以上的时间来计算。我读过关于asjob的文章,但我不明白如何在我的脚本中暗示这一点。提前谢谢 $hostslist = @() $host_counter ++ for ($i = 100; $i -le 254; $i++){ $a = 192 $b = 168 $c = 99 if(Test-Connection
$hostslist = @()
$host_counter ++
for ($i = 100; $i -le 254; $i++){
$a = 192
$b = 168
$c = 99
if(Test-Connection -ComputerName "$a.$b.$c.$i" -Count 1 -Quiet){
$hostslist += ,@($host_counter, "$a.$b.$c.$i" ,(Test-Connection -ComputerName "$a.$b.$c.$i" -Count 10 | measure-Object -Property ResponseTime -Average).average)
}
}
$hosts_by_ping = $hostslist | sort-object @{Expression={$_[2]}; Ascending=$true}
echo $hosts_by_ping
测试连接-计数10
在两次尝试之间总是有9秒的延迟。您可以在循环中执行此操作。测试连接-计数10在两次尝试之间总是有9秒的延迟。您可以在循环中执行此操作。[1]不要测试连接两次。[grin][2]停止使用-Count 10
,因为这样会使每次计数增加一秒。[3] 尝试-AsJob
参数。[4] 停止使用固有的慢速cmdlet&使用[System.Net.NetworkInformation.Ping]::New().SendPingAsync()
东西。[1]不要测试连接两次。[grin][2]停止使用-Count 10
,因为这样会使每次计数增加一秒。[3] 尝试-AsJob
参数。[4] 停止使用固有的慢速cmdlet&使用[System.Net.NetworkInformation.Ping]::New().SendPingAsync()
之类的东西。