Как я могу использовать cdb.exe в интерактивной сессии Powershell Remoting - PullRequest
4 голосов
/ 02 февраля 2012

Я использую cdb.exe для удаленной отладки службы. Чтобы облегчить это, я пытался использовать сеанс удаленного взаимодействия PowerShell для выполнения этой работы. Однако я сталкиваюсь с поведением, которого не понимаю.

Это работает

  1. new-pssession | Enter-PSSession
  2. (в интерактивном сеансе) cdb.exe -сервер "npipe: pipe = debug" -p ###
  3. (в другом локальном PowerShell или cmd) cdb.exe -remote "npipe: pipe = debug, server = server"

При этом я управляю сессией удаленно с моего локального CDB. Я также вижу весь сеанс удаленно в подключенном удаленном PowerShell. Это заставляет меня задуматься ... для быстрого сеанса, почему бы не убрать необходимость во втором локальном окне, а просто использовать cdb из удаленного сеанса.

Кроме того, я не могу заставить это работать.

Это не работает

  1. new-pssession | введите-pssesion
  2. (в интерактивном сеансе) cdb.exe -p ###

В тот момент, когда cdb достигает точки, в которой он запрашивает, powershell выходит из cdb и выдает мне приглашение powershell.

Можно ли изменить эту настройку?
Это просто что-то вроде работы удаленного взаимодействия PowerShell и WinRM?

Кажется странным, что я могу наблюдать весь этот сеанс в реальном времени в удаленном окне, но нет возможности взаимодействовать с ним.

1 Ответ

4 голосов
/ 06 февраля 2012

Любой интерактивный инструмент CLI, вероятно, не будет работать в сеансе удаленного взаимодействия или, по крайней мере, очень хорошо. В удаленном сеансе PowerShell сериализует то, что происходит на удаленном конце, и отправляет его обратно по сети в локальный сеанс. Когда вы используете командлеты PowerShell, вы получаете объекты, которые PowerShell может обрабатывать. Инструменты CLI будут возвращать строки. Я не думаю, что удаленное взаимодействие PowerShell поможет вам здесь.

...