Estou tentando colorir as linhas de verde, amarelo e vermelho dentro do powershell dependendo da latência em milissegundos. Nosso fluxo de trabalho remoto determina que qualquer coisa acima de 40 ms é ruim, então quero que isso seja representado visualmente para as pessoas que executam o teste, que será encapsulado como exe para download e execução, se necessário.
- 1-19ms = Verde
- 20-39ms = Amarelo
- 40-500ms = Vermelho
- "solicitação expirou" = Vermelho
No entanto, quando tento colocar isso no ISE, parece que não está se comportando conforme o esperado. Muitas vezes, retorna apenas uma cor sólida para todas as linhas e, às vezes, perde completamente algumas linhas no teste de traceroute. Eu escolhi deliberadamente um endereço IP australiano aleatório para executar o teste, pois está muito longe e deve fornecer uma boa mistura de latência baixa a alta à medida que os saltos continuam.
Alguém pode sugerir onde posso ter errado?
$traceroute = tracert 47.74.90.56
foreach ($trace in $traceroute)
{
if ($trace -Match '[1-9] ms' )
{
write-host "$trace" -ForegroundColor green
}
elseif ($trace -Match 'request timed out' )
{
write-host "$trace" -ForegroundColor red
}
elseif ($trace -Match '[1-0][1-9] ms' )
{
write-host "$trace" -ForegroundColor green
}
elseif ($trace -Match '[2-3][0-9] ms' )
{
write-host "$trace" -ForegroundColor yellow
}
elseif ($trace -Match '[4-9][0-9] ms' )
{
write-host "$trace" -ForegroundColor red
}
elseif ($trace -Match '[1-9][0-9][0-9] ms' )
{
write-host "$trace" -ForegroundColor red
}
}