我有一个对象数组,其属性为“IP”,用于存储IP地址,“LastAlive”用于存储服务器上次响应ping的日期。
为了填充LastAlive属性,我使用以下函数:
function Update-AliveStatus ($nodes)
{
foreach ($node in $nodes)
{
$alive = Test-Connection $node.IP -Quiet -Count 2
if ($alive -eq $true)
{
$node.LastAlive = (Get-Date)
}
}
return $nodes
}
除非IP列表很长,否则这样可以正常工作,在这种情况下,迭代所有IP都需要很长时间。如何修改函数以异步方式运行ping,并在完成所有ping操作后仍返回填充的数组?