Как изменить выходной цвет вывода тестового подключения

#powershell #colors #output

#powershell #Цвет #вывод

Вопрос:

Мне нужно изменить цвет текста в зависимости от выходных данных Test-Connection -quiet командлета.

Если true — зеленый, а если False — красный.

Я пытаюсь использовать write-host, но безуспешно

 $StartIP = Read-Host -Prompt 'Input Start IP'
$EndIP = Read-Host -Prompt 'Input End IP'
$results=  ([int]$StartIP..[int]$EndIP) | % {"192.168.128.$($): $(Test-Connection -count 1 -comp 192.168.128.$($) -quiet)"}
Read-Host -Prompt "Press Enter to exit"
  

Комментарии:

1. Вы не используете write-host, также вывод отправляется в переменную — где, по-вашему, должен отображаться цвет?

Ответ №1:

Следуя вашему существующему коду:

 $start = (Read-Host -Prompt Start) -as [int]
$end = (Read-Host -Prompt End) -as [int]
$start..$end | ForEach-Object {
  $ip = "192.168.128.$_"
  if (Test-Connection -Count 1 -Quiet -ComputerName $ip) {
    "$ip TRUE" | Write-Host -ForegroundColor Green
  }
  else {
    "$ip FALSE" | Write-Host -ForegroundColor Red
  }
}
  

Комментарии:

1. Спасибо! @TheIncorrigible1