Определение успешного выполнения команды Powershell

Привет я довольно новичок в Powershell, но у меня есть один щекотливый вопрос. Я хочу знать, успешно ли завершена команда, чтобы я мог давать содержательные сообщения хосту.

Я использую appcmd команда для добавления привязки в IIS. По сути это выглядит следующим образом:

./appcmd set site /site.name:........................

но как я могу сделать проверку, чтобы убедиться, что она была успешной или нет?

Я думаю, если я просто поставить Write-Host "Successfully added binding" после этого заявления он будет стрелять после независимо если appcmd прошла успешно.

Я предполагаю, что мне нужно сделать что-то вроде:

$successful = ./appcmd set site /site.name:........................

а то $successful кажется строкой, содержащей результат msg?

благодарен за любую помощь в этом! Ура!--7-->

1 ответов


предполагая, что appcmd является консольным exe, даже если это ошибки, следующая строка в скрипте будет выполняться.

Если вы хотите проверить, ошибся ли EXE и EXE использует стандартный код выхода 0 для указания успеха, просто проверьте $? специальная переменная сразу после вызова EXE. Если это $true, то EXE вернул код выхода 0.

Если EXE нестандартен с точки зрения кода выхода, он возвращается для успеха (возможно, он имеет несколько кодов успеха), то проверить $LastExitCode чтобы получить точный код выхода, последний EXE вернулся.