0

私はpowershellリモーティングで遊んでいましたが、私は解決できない問題に遭遇しました。私は、リモートセッションを作成するスクリプトを持っており、いくつかの変数を設定した後、以下を行います。すべてはそれはスクリプトがハングアップし、その時点で特定の行に来るときを除いて正常に動作し、ブロック内Powershellリモートセッションの外部コマンド実行

Invoke-Command -Session $remote_session -ScriptBlock $block -ArgumentList $args 

。適切な行は次のとおりです。

& '.\external_command.exe' $argument_list 

私はプロセスリストにexternal_command.exeを見ることができるリモートPowerShellセッションをホストしているが、それは何もしていないコンピュータにログインします。問題を解決する方法について誰もが知っていますか?

+0

external_command.exeはインタラクティブではない、またはUIなしで動作することは確実ですか? – JPBlanc

+0

@JPBlanc:UIなしで作業できるということは、正確にはどういう意味ですか?コマンドライン引数なしで起動するとGUIが表示されますが、特定のコマンドライン引数が存在する場合、他のコンソールアプリケーションとして動作するはずです。 – davidk01

+4

[about_Remote_Troubleshooting](http://technet.microsoft.com/en-us/library/dd347642.aspx)によると、ユーザーインターフェイスを持つプログラム、入力を求めるコンソールアプリケーション、コンソールアプリケーションなどの一部のネイティブWindowsプログラムWin32コンソールAPIを使用するWindows PowerShellリモートホストで正しく動作しません。 – JPBlanc

答えて

1

インストーラのリモート実行にも同様の問題がありました。これを回避するには、まずpowershellを使用してcmdバッチファイルを作成し、このバッチファイルを実行します。

"c:\external_command.exe argument1" > c:\run.cmd 
&"c:\Run.cmd" |Out-Null 
+0

PsExecが見つかりました。ほとんどの人がリモーティングの問題を解決するための回避策として使用しているようです。 – davidk01

関連する問題