Третья раскладка РУС-US на RDS ферме, решаем за минуту
Добрый день! Уважаемые читатели и гости IP блога Pyatilistnik.org. В прошлый раз мы с вами разобрали причины черного экрана на терминальной ферме Windows Server 2012 R2, многим статья оказалась полезной. Сегодня я вам покажу еще одну не приятную вещь, которую вы можете повстречать на RDS-фермах и терминалах, начиная от Windows Server 2008 R2 и вплоть до сервера 2019, проблема заключается в том, что у человека подключившегося к серверу появляется в сеансе лишняя раскладка клавиатуры РУС-US, которая мешает переключению с русского на английский язык. Давайте решим эту проблему.
Описание проблемы с раскладкой
И так есть терминальная RDS-ферма, построенная на Windows Server 2012 R2, где работает около 1500 человек. В какой-то из рабочих дней в техническую поддержку обратились несколько сотрудников, с таким странным поведением удаленного рабочего стола на терминале, связано это было с некой третьей раскладкой клавиатуры. Подключившись к теневую сессию данного пользователя я увидел вот такую картину, в системной области уведомления присутствовала лишняя раскладка РУС-US (Russian-US Keybord).
Такой же глюк я поймал на другом из серверов, на окне авторизации пользователя, где так же при вводе английских символов, почему-то писались русские и так же присутствовала лишняя раскладка РУС-US (Русский-США клавиатура)
В итоге приходилось руками выбирать нужную, что весьма не удобно. Начав разбираться, я смог выяснить в чем собственно дело. Оказывается, что когда пользователь подключается по удаленному рабочему столу к серверу, у него отличается его текущая раскладка клавиатуры от той какая текущая на сервере, а вот если в момент входа выбраны одинаковые языки, то логично предположить, что проблемы не будет.
Как решить проблему с левыми клавиатурами
Понятно, что заставлять всех пользователей иметь по умолчанию английскую клавиатуру будет заставлять не совсем корректно, они же не администраторы. Мы пойдем в обход, как говорил один персонаж детских сказок. Мы будем делать манипуляции непосредственно на сервере к которому идет удаленное RDP подключение. Логинимся на сервер с правами администратора и открываем реестр Windows, через окно выполнить.
Переходим в нем в ветку:
Тут вам необходимо создать отдельный ключ типа DWORD32
Имя у данного ключа должно быть IgnoreRemoteKeyboardLayout, и значение должно стоять 1 (Подробнее про параметр можно почитать на Microsoft https://support.microsoft.com/ru-ru/help/924852/how-the-regional-and-language-options-settings-in-windows-server-2003)
Для лентяев, кто не хочет сам лазить по реестру, то вот вам готовый файлик со всеми нужными действиями. Скачиваете его, распаковываете и запускаете, согласившись с внесением изменений. Когда вы это сделали, то многие советуют перезагрузиться, но как проверено оперативным путем, достаточно пользователю у кого есть проблемы с лишней раскладкой на RDS-ферме, просто сделать завершение сеанса (Log OF), а после заново подключиться. На этом у меня все, а с вами был Иван Семин, автор и создать IT блога Pyatilistnik.org.
наконец-то…
спасибо )
Давно руки не доходили это описать
Где файлик?
Да и руками можно сделать)
А если у меня 120 юзеров, и я под каждым это должен сделать?
Может есть комплексное решение?
А что мешает создать ключи реестра через GPO?
На Windows Server 2019 Standart фишка с реестром не работает!!!.
Пришлось выравнивать языки вручную в паре клиент — сервер.
У клиента ставить основной = английский и на сервере нажать на выбор языков — Language prefferences — в открывшемся меню у меня был Русский как «Default app language» нажать на него — и далее стрелку вниз. После чего English становится Default и тогда можно переключать языки комбинациями клавиш.