web-dev-qa-db-ja.com

Powershellコマンドが成功したかどうかの判断

こんにちは私はPowershellを初めて使用しますが、ちょっとした質問が1つあります。コマンドが正常に完了したかどうかを確認して、ホストに意味のあるメッセージを送信できるようにしたい。

appcmdコマンドを使用してIISにバインディングを追加しています。基本的に、それは次のようになります。

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

しかし、成功したかどうかを確認するにはどうすればよいですか?

そのステートメントの後にWrite-Host "Successfully added binding"を置くだけで、appcmdが成功したかどうかに関係なく起動すると思います。

私は次のようなことをする必要があると思います:

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

しかし、$successfulはメッセージの結果を含む文字列のようですか?

これに関する助けに感謝します!乾杯

15
baron

Appcmdがコンソールexeであると仮定すると、エラーが発生した場合でも、スクリプトの次の行が実行されます。

EXEがエラーになり、EXEが標準の0終了コードを使用して成功を示しているかどうかをテストする場合は、EXEを呼び出した直後に$?特殊変数を調べてください。 $ trueの場合、EXEは0の終了コードを返しました。

EXEが成功のために返す終了コードに関して非標準である場合(おそらく複数の成功コードがある場合)、$LastExitCodeを調べて、最後に返された正確な終了コードを取得します。

17
Keith Hill