Определение успешности команды Powershell
Привет, я новичок в Powershell, но у меня есть один вопрос. Я хочу быть в состоянии сказать, была ли команда выполнена успешно, чтобы я мог дать содержательные сообщения хосту.
Я использую appcmd
Команда для добавления привязки в IIS. По сути, это выглядит следующим образом:
./appcmd set site /site.name:........................
Но как я могу сделать проверку, чтобы убедиться, что она прошла успешно или нет?
Я думаю, что если я просто поставлю Write-Host "Successfully added binding"
после этого заявления оно сработает после того, как appcmd
Был успешен.
Я думаю, мне нужно сделать что-то вроде:
$successful = ./appcmd set site /site.name:........................
но потом $successful
кажется строка, содержащая результат msg?
Благодарен за любую помощь в этом! ура
1 ответ
Предполагая, что appcmd является консольным exe, даже если произойдет ошибка, будет выполнена следующая строка в скрипте.
Если вы хотите проверить, не испортился ли EXE-файл, а EXE-файл использует стандартный код завершения 0, чтобы обозначить успех, просто проверьте $?
специальная переменная сразу после вызова EXE. Если это $ true, то EXE вернул 0 код выхода.
Если EXE-файл нестандартен с точки зрения кода завершения, он возвращается для успеха (возможно, он имеет несколько кодов успеха), затем проверьте $LastExitCode
чтобы получить точный код выхода последнего возвращенного EXE.