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

Другие вопросы по тегам