質問: ### 現在の現象・実現したいこと Window10、PowerShell5.1の環境で、PowerShell ISEでps1ファイルを実行する際、 ps1内に記載している*.exe(アプリケーション)実行時のログが出力されないです。 以前は、ちゃんとアプリケーションログが表示されていたのですが、 いつからか、気が付いたら表示されなくなっていました。(他の人がPCを使用したころから?) 他の人のPCで、PowerShell ISEで同じps1ファイルを実行すると、ちゃんとアプリケーションログが表示されます。 アプリケーションログが表示されないだけで、実行はされていて、後続処理は正しく処理されています。。(echo文の出力で確認可能) ps1ファイル内で実行しているアプリケーションの部分を、コンソールに直書きして実行すれば ちゃんとアプリケーションログが表示されます。 ps1の実行で、アプリケーションの実行の部分のアプリケーションログが表示されません どのようにしたら、再びアプリケーションログが表示されるようになるでしょうか。 ### 実行方法 ``` ps1の内容 echo "実行開始" xxjob /RUN C:\temp\a_job #a_jobを指定して実行 echo "実行終了" ``` ### 表示されるはずのアプリケーションログ ``` 〇〇Express 統計情報 入力 (1.1): C:\temp\AA.csv 最終更新日 10/03/2018 18:28:40 入力 (1.2): C:\temp\BB.csv 最終更新日 10/03/2018 18:28:29 入力 (1.3): C:\temp\CC.csv 最終更新日 10/03/2018 18:28:21 入力 (1.4): C:\temp\DD.csv 最終更新日 10/03/2018 18:35:58 レコード読み込み: 16 データ読み込み(バイト): 252 レコードのマージ: 16 データのマージ(バイト): 252 変換先(1): データベース MDBCONNECTION (名前: HY, 認証: 自動検出, ユーザー: admin), テーブル WK_TBL1 レコード出力(1): 0 レコード出力(バイト) (1): 0 最終更新日 10/18/2018 11:04:23 レコード出力(2): 16 レコード出力(バイト) (2): 252 出力レコードの削除(1): 16 データの削除(バイト)(1): 204 出力レコードの削除(2): 0 データの削除(バイト)(2): 0 入力レコード長: 16 出力レコード長(1): 13 出力レコード長(2): 16 ジョブからのメモリーガイドライン (MB): 200 割り当て済みの仮想メモリ (MB): 62 使用済み物理メモリ (MB): 30 使用する作業領域(バイト): 0 処理時間: 0:00:00.23 CPUタイム: 0:00:00.15 10/18/2018 11:04:23 - 〇〇Express が完了しました ``` ### 以前、コンソールに表示されていたログ ps1を実行して、アプリケーション実行の行で、以前は下記のエラーが出ていました。 ps1は最後まで実行されていました。 ``` *****************ここから*****コンソールに表示されていたログ********** 実行開始 発生場所 行:1 文字:12 + xxjob /RUN C:\temp\a_job + ~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (Error!:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError 【この後に、上記の表示されるはずのアプリケーションログが表示されていた。】 実行終了 *****************ここまで*****コンソールに表示されていたログ********** ``` そこで、私のPCのPowerShell ISEを管理者権限で実行し、 Enable-PSRemoting コマンドが実行したとのこと。 Disable-PSRemotingを実行したが、アプリケーションログが表示されないまま。 これが原因のような気がします。 ### 現在のログ ``` *****************ここから*****コンソールに表示されていたログ********** 実行開始 ←【上記の表示されるはずのアプリケーションログが表示されない】 実行終了 *****************ここまで*****コンソールに表示されていたログ********** ``` そこで、私のPCのPowerShell ISEを管理者権限で実行し、 Enable-PSRemoting コマンドが実行したとのこと。 Disable-PSRemotingを実行したが、アプリケーションログが表示されないまま。 これが原因のような気がします。
回答: 「実行開始」「実行終了」が表示されているので、PowerShell のせいではないでしょう。 どう見ても xxjob が異常終了してエラーメッセージを出していますので、今まで表示されていたものがエラーメッセージであることも間違いないと思います。 スクリプトを使わず xxjob をテスト実行し、正常終了してもログが表示されるかどうか確かめてください。 また、わざと異常終了させてみて、ログが表示されるかどうかも確かめてください。