Я запускаю сценарий PowerShell из командного файла. Сценарий извлекает веб-страницу и проверяет, является ли содержимое страницы строкой «ОК».
Сценарий PowerShell возвращает уровень ошибки пакетному сценарию.
Пакетный скрипт выполняется ScriptFTP , программой автоматизации FTP. Если возникает ошибка, я могу сделать так, чтобы ScriptFTP отправлял всю консольную информацию администратору по электронной почте.
В сценарии PowerShell я хотел бы вывести возвращаемое значение с веб-сайта, если оно не «ОК», поэтому сообщение об ошибке включается в вывод консоли и, следовательно, в сообщение о состоянии.
Я новичок в PowerShell и не уверен, какую функцию вывода использовать для этого. Я вижу три:
- Написать-Host
- Write-Output
- Write-Error
Что было бы правильным для записи в эквивалент Windows stdout
?
"Hello, World!" | Out-Host
.Out-Host
с другой стороны, отправляет объекты на хост PowerShell для отображения, и его реализация зависит от хоста. Консольный хост отправляет их на стандартный дескриптор вывода (проходяOut-Default
по пути), действительно. Однако PowerShell ISE отображает их в своей области вывода, а другие хосты могут делать и другие вещи полностью.