Определение успешного выполнения команды 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 вернулся.