[FAQ CENTER トップ]
[Powershell FAQ トップへ]



【Powershell】Powershell でInlineScript 関数の戻り値が"トランスクリプトが開始されました"になる不思議な現象



更新日:2019/06/11


現象


Powershell でInlineScript 関数の戻り値が"トランスクリプトが開始されました"になる不思議な現象が発生しました。


調査結果


Powershellからps1 ファイルをコールし、戻り値を$LASTEXITCODEで取得したところ戻り値が以下のような不正な値となっていました。


トランスクリプトが開始されました。出力ファイル: c:\temp\aaaaaa.log
トランスクリプトが停止されました。出力ファイル: C:\temp\aaaaaa.log


to.ps1(呼び先) は exit retcode で戻す。
from.ps1(呼び元) は $LASTEXITCODE で取得する。

to.ps1では以下のコードでした。


Start-Transcript c:\temp\aaaaaa.log
Stop-Transcript





対処



原因は不明。以下で出力を破棄したところ現象が解決。


Start-Transcript c:\temp\aaaaaa.log >$null

Stop-Transcript >$null




その他 InlineScript 内で戻り値を受け取らない場合、 $null で破棄するとこの現象が収まりました。


(注意)
Powershell V4まではStart-Transcriptはサポートされていません。次のエラーで失敗します。


Start-Transcript : このホストはトランスクリプションをサポートしていません。








[Powershell FAQ トップへ]
[FAQ CENTER トップ]


本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。) Copyright(c) tooljp.com 2007-2018