Я пытаюсь создать скрипт, который будет перечислять серверы, которые мне нужно перечислить, а также задержку, возвращаемую с каждого сервера, мне нужно, чтобы список был в порядке возрастания или убывания на основе ping.
То, что я до сих пор придумал, дало в основном то, что я хочу, но если на одном сервере возвращенный пинг выше 100, другие значения считаются выше, если они начинаются со значения выше 1.
Я понимаю, что мне нужно значение ping, возвращаемое в виде целого числа, но я не смог точно определить, как этого добиться без удаления имени сервера.
В любом случае, вот что япридумайте пока
function TestNetwork {
$global:array = @("<ServerName>:<ipaddress>"; "<ServerName>:<ipaddress>"; "<ServerName>:<ipaddress>")
foreach ($str in $global:array) {
$avg = 0
$server = $($str -split ":")[0]
$PingServer = Test-Connection -Count 3 $server
$avg = ($PingServer | Measure-Object ResponseTime -Average)
$calc = [System.Math]::Round($avg.Average)
$output = "{000} | " -f $($calc) + $server
$Output
}
}
TestNetwork | Sort numerical -Descending `
и вот результаты, которые я получаю
75 | Server
73 | Server
110 | Server