メッセージを表示して $true を返す powershell モジュールに関数があります。
MSDOS コンソールで次のコマンドを実行すると、機能します。関数のすべてのメッセージが標準出力に表示され、ハードコードされた値 $true が返されます。
C:>Powershell -NoProfile -Command "& {Import-Module MyModule; MyFunctionInModule -Parameter1 'D:\...'; exit $true }"
C:>echo %errorlevel%
1
しかし、関数の戻り値で終了する方法は? この次のコマンドは機能しません。関数の出力メッセージが表示されず、関数の戻り値が得られません:
C:>Powershell -NoProfile -Command "& {Import-Module MyModule; $result = MyFunctionInModule -Parameter1 'D:\...'; exit $result }"
C:>echo %errorlevel%
0
ご協力ありがとうございました。