PowerShell で複数のホストにPingを打ち続ける

1つのホストだけなら

ping -t hostname

みたいな感じで延々と ping を打てるが、ping を打ちたいマシンが複数ある場合はちょっとむずかしい。
なので、PowerShell でやってみた。

$l=@("host1","host2","host3");
while(1){
    $r=$(get-date).DateTime.ToString();
    $r+="`n";
    foreach($a in $l){
        $r+=ping $a -n 1|select-string -Pattern "Reply|Request";
        $r+="`t$a`n"
    };
    $r+="----";
    $r;
    Start-sleep -s 1;
    $n=ipconfig /flushdns
}

host1, host2, host3 の所に、ホスト名か IP を入れていく。必要に応じて増やす。

実行すると

2012年8月3日 14:06:06
Reply from 172.16.1.1: bytes=32 time<1ms TTL=64
Reply from 172.16.1.2: bytes=32 time<1ms TTL=64
Reply from 172.16.1.3: bytes=32 time<1ms TTL=64

こんな感じで、ずっと Ping が実行され続ける。