Вопрос или проблема
У нас есть USB-сканеры, которые требуют, чтобы клавиша Num Lock была включена для правильной работы. Я заметил, что когда я удаленно вошел в ПК (удаленный рабочий стол) и моя клавиша Num Lock была выключена, удаленный ПК также выключает ее после завершения сеанса. Как я могу этого избежать? Я надеюсь, что настройки клавиатуры могут быть восстановлены после завершения сеанса RD.
Вы должны определить, что определенная задача должна быть выполнена на удаленном ПК, когда вы завершаете сеанс Remote Desktop. Я предпочитаю запускать простой пакетный файл на удаленном компьютере при определенных условиях (см. ниже). Этот пакетный файл использует командную утилиту ‘klocks.exe’:
klocks.exe -scroll +num -c
Эта строка просто активирует состояние NUMLOCK (и деактивирует состояние SCROLL и CAPSLOCK). К сожалению, я заметил, что оригинальный сайт загрузки больше недоступен (http://www.commandline.co.uk/klocks/index.html), но, возможно, вы найдете его где-то еще. В качестве альтернативного инструмента командной строки вы можете использовать утилиту numlock.exe (http://www.rjlsoftware.com/software/utility/numlock/), но я уверен, что существуют и другие подобные инструменты командной строки. Третья возможность – использовать небольшой VBS-скрипт для установки состояния NUMLOCK, но я еще не пробовал это (см. faq-o-matic.net):
set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "{NUMLOCK}"
Какой бы скрипт вы ни выбрали, его следует выполнять, когда вы ‘завершаете’ сеанс RDP. Существует две возможности завершить сеанс RDP:
- отключиться от удаленной пользовательской сессии, просто закрыв окно удаленного рабочего стола
- завершить удаленную пользовательскую сессию, выйдя из системы
Для простого ‘отключения от удаленной пользовательской сессии’ вы должны использовать планировщик задач Windows на удаленном ПК. Просто определите триггер “отключение от пользовательской сессии” и в качестве действия определите скрипт ‘NUMLOCK-on’.
Для ‘выхода’ из удаленной пользовательской сессии, т.е. реального завершения сеанса, не так просто использовать планировщик задач, потому что нет предопределенного триггера для ‘выхода’. Вместо этого вам следует использовать локальный редактор групповой политики, чтобы определить скрипт выхода (в конфигурации пользователя > Настройки Windows > Скрипты > выход).
Кстати, чтобы быть уверенным, что NUMLOCK всегда будет активирован на удаленном компьютере, когда удаленный пользователь входит в систему (т.е. не просто входит в существующий сеанс), существует несколько возможностей:
- использовать локальный редактор групповой политики, чтобы определить скрипт входа
- использовать планировщик задач, чтобы определить задачу с триггером ‘вход’
- установить значение реестра InitialKeyboardIndicators равным 2 (HKCU\Control Panel\Keyboard, см. https://technet.microsoft.com/en-us/library/cc978657.aspx)
- использовать различные возможности автозапуска в реестре
Это упоминалось (х although скрыто) в предыдущем ответе, поэтому я собираюсь выделить это для всех остальных, кто здесь окажется, так как я не нашел это, пока не провел много поисков сам:
- Откройте редактор реестра.
- Перейдите к HKEY_USERS.Default\Control Panel\Keyboard
- Измените значение для InitialKeyboardIndicators на 2.
Ответ или решение
Восстановление настроек клавиатуры после сеанса удаленного рабочего стола в Windows 7
Использование удаленного рабочего стола (RDP) для управления компьютерами в сети имеет свои нюансы, особенно когда дело касается управления состоянием клавиш, таких как Num Lock. Понимание того, как настроить автоматическую активацию Num Lock после завершения сеанса RDP, может повысить эффективность работы, особенно для устройств, таких как сканеры, требующие активированного Num Lock для корректной работы.
Проблема
При удаленном подключении к компьютеру через RDP состояние клавиши Num Lock может измениться. Если на локальном компьютере эта клавиша выключена при подключении, то после окончания сеанса удаленного рабочего стола это состояние будет скопировано на удаленный ПК. Для USB-сканеров это может привести к сбоям в работе. Таким образом, важно восстановить нужное состояние клавиш после завершения сеанса.
Решение
Существует несколько подходов к решению данной проблемы:
-
Использование инструментов командной строки
- Один из способов — использовать утилиту
klocks.exe
для управления состоянием клавиш. Этот инструмент позволяет управлять состоянием Num Lock, Scroll Lock и Caps Lock через командную строку. - Альтернативой может быть
numlock.exe
, который также предоставляет аналогичные функции. Обратите внимание, что для использования этих утилит вам нужно будет загрузить их с внешнего источника.
- Один из способов — использовать утилиту
-
Создание скрипта на VBScript
- Вы можете создать простой VBScript для переключения состояния клавиши Num Lock. Пример скрипта:
set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "{NUMLOCK}"
- Этот скрипт можно запускать при завершении сеанса, чтобы гарантировать, что Num Lock будет активирован.
- Вы можете создать простой VBScript для переключения состояния клавиши Num Lock. Пример скрипта:
-
Настройка планировщика задач
-
Для завершения сеанса (отключение от удаленной сессии):
- Откройте Планировщик задач на удаленном ПК и создайте новую задачу. Установите триггер на событие «Отключение пользователя» и укажите действие для запуска вашего скрипта или команды.
-
Для выхода из сеанса (лог офф):
- Используйте локальный редактор групповой политики (gpedit.msc), чтобы назначить скрипт на выход в разделе Конфигурация пользователя > Windows настройки > Скрипты > Лог офф.
-
-
Автоматическое включение Num Lock при входе
- Для обеспечения включения Num Lock при каждой авторизации можно использовать следующие методы:
- Настроить скрипт входа через локальную групповую политику.
- Настроить задание в планировщике с триггером «вход в систему».
- Изменить значение параметра реестра
InitialKeyboardIndicators
, установив его равным 2: - Откройте Редактор реестра (regedit).
- Перейдите по пути
HKEY_USERS.Default\Control Panel\Keyboard
. - Измените значение
InitialKeyboardIndicators
на 2. Это обеспечит автоматическое включение Num Lock при каждом входе.
- Для обеспечения включения Num Lock при каждой авторизации можно использовать следующие методы:
Заключение
Эти методы помогут вам решить проблему с отключением клавиши Num Lock после сеанса удаления рабочего стола. Используя их, вы сможете повысить эффективность работы с устройствами, требующими активного Num Lock, и улучшить взаимодействие с удаленными компьютерами. Оптимальная настройка системы обеспечит стабильную работу и избавит от потенциальных сбоев в работе оборудования.