Системному администратору часто приходится работать с серверами и рабочими станциями удалённо с помощью RDP. Иногда нужно нажать на удалённом сервере заветную заветную комбинацию Ctrl + Alt + Del, хотя бы для того, чтобы сменить пароль. И ничего не получается, так как команда срабатывает для текущего компьютера, а не для удалённого. Что делать? Читать internet-lab.ru!
Первое, что приходит в голову — открыть на удалённом сервере экранную клавиатуру и набрать Ctrl + Alt + Del. Пробуем и плачем:
To use the commands available when you press Ctrl+Alt+Del, click your user tile and choose an option.
Данная комбинация клавиш на экранной клавиатуре заблокирована. В текст ошибки можно не вникать, так какой-то бред из старых версий, нажатие на user tile даст только возможность заблокировать экран, нам же нужно увидеть окно для смены пароля.
Экранная клавиатура
Обходим ограничения. Запустите экранную клавиатуру в той RDP сессии, где нужно выполнить команду. Нажмите на физической клавиатуре Ctr + Alt, потом на экранной Del. Данный лайфхак вполне работает.
Если одна RDP сессия
Если у вас открыта одна RDP сессия, то проблема решается просто, выделяем окно RDP сессии и нажимаем Ctrl + Alt + End, эта комбинация зарезервирована именно для наших целей.
Готово, комбинация клавиш передана на удалённый компьютер.
Пока владельцы макбуков пытаются найти на клавиатуре клавишу End, оставляем им подсказку: Ctrl + Alt + Fn + Backspace, и вторую Ctrl + Alt + Fn + Right-Arrow
Если RDP сессия не одна
Усложняем задачу. Допустим, у вас открыта RDP сессия, в неё ещё одна сессия, потом ещё одна. Такая матрёшка — норма для сисадмина или разработчика. В данном случае обычное нажатие Ctrl + Alt + End не приведёт к нужному результату. Но не расстраиваемся.
В "предыдущем" окне RDP от нашей цели открываем экранную клавиатуру и уже на ней вводим Ctrl + Alt + End. Цель достигнута.
Дополнительные решения
Выполнить PowerShell скрипт под администратором:
(New-Object -COM Shell.Application).WindowsSecurity()
VBS скриптом под администратором:
Set objShell = CreateObject("Shell.Application")
objShell.WindowsSecurity
Создать ярлык:
explorer.exe shell:::{2559a1f2-21d7-11d4-bdaf-00c04f60b9f0}