4

cdb.exeを使用してサービスをリモートでデバッグしています。これを簡単にするために、PowerShellリモーティングセッションを使用して作業を実行しようとしています。しかし、私は理解できない行動に出くわしています。

これは動作します

  1. new-pssession | エンターセッション
  2. (インタラクティブセッション内)cdb.exe -server "npipe:pipe = debug" -p ###
  3. (別のローカルPowerShellまたはcmd内)cdb.exe -remote "npipe:pipe = debug、server = server"

これで、ローカルcdbからリモートでセッションを制御します。また、接続されたリモートPowerShellでセッション全体がリモートで表示されます。それは私に考えさせます...簡単なセッションのために、なぜその2番目のローカルウィンドウの必要性を取り除き、リモートセッションからcdbを使用するのですか?

ただし、それを機能させることはできません。

これは機能しません

  1. new-pssession | エンター-pssesion
  2. (インタラクティブセッション内)cdb.exe -p ###

cdbがプロンプトを表示するポイントに到達すると、powershellはcdbを終了し、powershellプロンプトを表示します。

これは変更できる設定ですか?
これは、PowerShell RemotingとWinRMがどのように機能するかということだけですか?

このセッション全体をリモートウィンドウでライブで見ることができるのは奇妙に思えますが、同じものと対話する方法はありません。

4

1 に答える 1

4

どんな種類のインタラクティブなCLIツールも、おそらくリモーティングセッションでは機能しないか、少なくとも非常にうまく機能しません。リモートセッションでは、PowerShellはリモートエンドで発生したことをシリアル化し、ネットワークを介してローカルセッションに送り返します。PowerShellコマンドレットを使用すると、PowerShellが処理できるオブジェクトを取得できます。CLIツールは文字列を返します。PowerShellリモーティングがここで役立つとは思いません。

于 2012-02-06T16:45:36.693 に答える