Отправить Ctrl-Alt-Del для вложенной сессии RDP

71

Есть ли способ отправить команду Ctrl-Alt-Del в сеанс RDP (Windows Server 2008 R2) внутри другого сеанса RDP (также Windows Server 2008 R2) без первого перехвата сеанса?

Ctrl+ Alt+ Endи Ctrl+ Alt+ Shift+ Endне достигают сессии 2-го уровня.

Изменить: Средой верхнего уровня является Windows 7 Enterprise.

xddsg
источник
2
Я не использовал 2008, но oskвсе еще доступна (экранная клавиатура)?
Джеймс О'Горман
Я также нашел обходной путь принуждения пользователя к смене пароля при следующем входе в систему, но OSK позволяет изменить пароль без прерывания сеанса.
xddsg
ОСК все еще рядом. Вы должны опубликовать это как ответ!
Грег Аскью
@Tom - OSK работает, если первый сеанс - Windows 2008. Хотя я не пробовал Windows 2003. Вы можете разместить подробности о вашей среде.
Грег Аскью
@GregAskew Спасибо, пост теперь содержит информацию об окружающей среде.
xddsg

Ответы:

88

Используйте экранную клавиатуру ( osk.exe). Вы можете нажать Ctrl-Alt-Del виртуально!

(Примечание: вам может потребоваться удерживать клавиши CTRL и ALT на физической клавиатуре (Windows Server 2012-R2))

На экранной клавиатуре

Джеймс О'Горман
источник
15
Удерживая Ctrl-Alt на компьютере верхнего уровня и нажимая «Del» в нужном уровне OSK работает. Нажатие ctrl-alt-del (без нажатий на клавиатуре) не позволяет (даже при том, что похоже, что он удерживает нажатой клавиши). Просто и функционально эквивалентно тому, что я искал.
xddsg
Просто использовал это, чтобы изменить мой пароль AD на компьютере с Server 2012. Работал действительно хорошо!
Джош Эрл
Спасибо, RDP внутри RDP внутри виртуальной машины действительно меня запутали, как это сделать. Работал как шарм. Странно, что липкие клавиши не работают, я думал, что смысл OSK в том, чтобы использовать, если у тебя была только мышь.
Омар Кохеджи
27

Я нашел способ сделать эту работу. Я часто работаю с вложенными сеансами RDP, которые проходят на нескольких уровнях. Именно так я предпочитаю работать, особенно с большим количеством виртуальных машин.

Имейте в виду, что моя среда в основном Windows 7 и Server 2008 R2.

Вот сценарий: я RDP с компьютера A на компьютер B и с компьютера B на компьютер C.

  1. Если я хочу отправить Ctrl+ Alt+ Delна компьютер А, я набираю Ctrl+ Alt+ Delс компьютера А

  2. Если я хочу , чтобы отправить Ctrl+ Alt+ Delк компьютеру B, I типа Ctrl+ Alt+ Endс компьютером

  3. Если я хочу отправить Ctrl+ Alt+ Delна компьютер C, я открываю экранную клавиатуру на компьютере B и использую ее для ввода Ctrl+ Alt+ End, который отправляет Ctrl+ Alt+ Delна компьютер C

  4. Если я пытаюсь использовать экранную клавиатуру для отправки Ctrl+ Alt+ Delна ЛЮБУЮ из этих трех машин, это вызывает меня в меню «Пуск», которое мне совсем не помогает.

Таким образом, чтобы отправить Ctrl+ Alt+ Delк удаленной машине, просто используйте OSK отправить Ctrl+ Alt+ Endиз сеанса непосредственно перед удаленной машиной вы пытаетесь отправить его. Работает каждый раз.

Шон Уманский
источник
2
Это особенно полезно, если «Компьютер C» - это Server Core.
5

Вы также можете создать ярлык, который выполняет для вас действие CTRL- ALT- DEL(очень полезно в средах, где OSK недоступен.) Создайте ярлык для следующего:

C:\Windows\explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}

Дважды щелкните этот ярлык, чтобы открыть экран CTRL- ALT- DEL.

Джаррод А.
источник
1
Для меня запуск этого из командной строки кажется наиболее предпочтительным. Тем не менее, это не сработало для меня. Может быть, потому что я вошел в WinSvr2008R2. Предполагается, что это показывает запрос пароля (с использованием графического интерфейса)? Как ты нашел это? (Это где-то задокументировано?) Я заметил тот же GUID, на который ссылается HowToGeek: Превращение папки в сейф
TOOGAM
Это было показано мне бывшим сотрудником некоторое время назад. Мы находились в среде, где нам приходилось использовать вложенные сеансы RDP, у нас не было установленного OSK, не было достаточных прав для установки OSK и не было ярлыка безопасности Windows. {2559a1f2-21d7-11d4-bdaf-00c04f60b9f0} - это CLSID для безопасности Windows. Я не знаю, как запустить это из командной строки, хотя.
Джаррод А.
4

Установите оба сеанса RDP для отправки ключей Windows в удаленное окно.

введите описание изображения здесь

Теперь, чтобы отправить Ctrl-Alt-Del на первый сеанс, используйте Alt-Ctrl-Del. Чтобы отправить команды во второе окно, используйте Alt-Ctrl-End.

FoxDeploy
источник
1

Есть еще один способ указать, где комбинации клавиш Windows будут выполняться на вкладке Локальные ресурсы параметров RDP. В разделе Клавиатура вы можете выбрать На этом компьютере, на удаленном компьютере Только при использовании полного экрана. Если вы выберете на удаленном компьютере, Ctrl Alt END позволит вам запустить диспетчер задач во вложенном соединении rdp. Спасатель, если вам удалось закрыть командное окно на основной машине.

Барт де Конинг
источник
1

Я сталкивался с этим решением, но оно не работало для меня. OSK был отключен, и я не смог его поднять. Обнаружил, что это работает, если вы смотрите только на один вложенный сеанс RDP.

то есть сессия B внутри сессии A.

Shift + Ctrl + Alt + End

Энди
источник
Если вы прочитаете вопрос, вы увидите, что спрашивающий попробовал это, но это не сработало. (Вероятно, в его случае требуется немного поиграть с настройками сеанса RDP.)
HopelessN00b
Это сработало для меня (2008R2 на 2008R2), но сессия B должна была быть не полноэкранным окном с фокусом в пределах A. (Сессия A была полноэкранной.)
mwardm
1

Если вы можете настроить TeamViewer или аналогичный в первом сеансе, Ctrl+ Alt+ Endбудет работать для второго сеанса RDP

Фрэнсис Томпсон
источник