Главная > Powershell > Использование цветов для вывода системных сообщений

Использование цветов для вывода системных сообщений

Недавно попалась на глаза одна заметка, которой захотелось поделиться.

Для вывода сообщений об ошибках и предупреждениях в Powershell предусмотрены соответствующие командлеты. Write-Error и Write-Warning соответственно.

С Write-Warning всё понятно:

Write-Warning

Вывод Write-Warning

А вот Write-Error помимо самого текста ошибки выводит ещё кучу информации:

Write-Error

Вывод Write-Error

Конечно, здесь можно указать подробную информацию об ошибке (например, указать категорию ошибки), но в большинстве случаев эта информация не нужна, а только отвлекает. Поэтому можно пойти другим путём и отобразить только сообщение, выделенное цветом, это делается при помощи команды:

$Host.UI.WriteErrorLine('Ошибка!')

 WriteErrorLine

Если не чем-то не устраивают цвета (или, например, нужно выделить отдельные ошибки), то изменить их не составит труда:

$Host.PrivateData.WarningForegroundColor = 'green'
Write-Warning 'Что-то пошло не так'

$Host.PrivateData.ErrorBackgroundColor = 'white'
$Host.UI.WriteErrorLine('Ошибка!')

Change Error, Warning Color

Альтернативные цвета системных сообщений

Как видно из скриншота, изменить можно цвет не только самого сообщения, но и фона. Цвета каких ещё сообщений можно изменить, и их текущие значения можно посмотреть по команде:

PS C:\> $Host.PrivateData

ErrorForegroundColor    : Red
ErrorBackgroundColor    : White
WarningForegroundColor  : Green
WarningBackgroundColor  : Black
DebugForegroundColor    : Yellow
DebugBackgroundColor    : Black
VerboseForegroundColor  : Yellow
VerboseBackgroundColor  : Black
ProgressForegroundColor : Yellow
ProgressBackgroundColor : DarkCyan

Перед тем как менять эти значения учтите, что они будут действовать до закрытия текущего окна Powershell (если вы не восстановите их вручную).

Реклама
Рубрики:Powershell Метки:
  1. 28/01/2015 в 21:39

    Доброго дня! Вопрос от постоянного читателя 🙂 Для начала, спасибо что пишите! Вопрос такой, а приходилось использовать скрипты для автоматизации или аудита сетевого оборудования….к примеру, есть коммутаторы циско, есть куча патч-кордов, которые естественно ни кто из хелп деска не отключает при переключении, итог…визуально видим что все занято, обходим ручками железки, а порты то есть… вот насколько PoSH может помочь, Ваше мнение?…. Еще раз спасибо за помощь тогда с скриптом под MS Exel до сих пор прекрасно работает и освобождает от рутины людей 🙂

    • 29/01/2015 в 14:15

      Ни с чем подобным сталкиваться не приходилось. Может стоит копнуть в сторону SNMP?
      А за приятные слова спасибо 🙂

  1. No trackbacks yet.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: