IT-Бложек

Русификация удаленной консоли Windows

Удаленная консоль в Windows

Системный администратор, существо достаточно ленивое. Поэтому ходить самому по множествуразрозненных серверов и компьютеров, находящихся в его подчинении он не любит. Специальнодля таких случаев придумали удаленное управление. Чаще всего начинающие системныеадминистраторы, под этим словом понимают подключение к компьютеру или серверу черезпротоколы RDP, Radmin и т.д. Они конечно дают отображение экрана или терминальной сессии,но часто все это излишне или же просто невозможно. Для таких случаев используют удаленную консоль…

Она позволяет вести управление компьютером, и не потребляет много трафика. В *NIX системах для этого используется протокол SSH. Он встроен в большинство систем и прекрасноработает уже много лет. В Windows системах изначально не было простых, а главное бесплатных утилит для удаленного управления консолью. Одной из первых таких утилит была PsExec из комплекта PsTools компании Sysinternals (http://technet.microsoft.com/ru-ru/sysinternals/bb896649). Она позволяет удаленно запускать консольные (и не только) программы на нужных вам компьютерах, и получать их выход в случае возможности. Так же она не требует, что-либо устанавливать, на управляемый компьютер.

Идеологическим продолжением  этой утилиты и самой актуальной средой на сегодня является среда PowerShell (http://support.microsoft.com/kb/968930), в ней начиная со второй версии, встроена возможность удаленного подключения к консоли компьютера, на которой установлена эта среда и работа с ней. Работает эта среда, на всех компьютерах начиная с Windows XP

Для удаленного управления компьютером с помощью PowerShell 2.0 используется командлет Enter-PSSession. Однако предварительно на тот компьютер нужно установить среду PowerShell 2.0 (в Windows 7 и Windows Server 2008 R2 она уже встроена) и включить удаленное управление, с помощью командлета Enable-PSRemoting на управляемом компьютере.


Проблема и вариант его решения

Как бы не было хорошо управлять компьютерами на основе Windows, однако существует проблема. При попытке управлять компьютером, изначальным  языком которого является Русский, мы получаем проблему — выход в виде кракозябр


Читать которые очень затруднительно. Это достаточно фундаментальная проблема, которая наличиствует во всех версиях Windows, языком установки которого является Русский. Она появляется как при управлении PsExec так и PowerShell 2.0. Основная причина этих кракозябр является неправильная передача кодировки. В России используется минимум 3 кодировки: CP1251 (Известная как Windows), CP866 (Известная как DOS) и KOI8. При таком количестве кодировок передача данных и их отображение, осуществляется в неправильном формате,  и мы видим результат. Попробуем решить данную проблему. Для начала принудительно установим кодировку 1251. Делается это командой

chcp 1251

После начинаются танцы с бубном
Заходим в свойства текущей консоли и выбираем шрифт Lucida Console
Консоль преображается
Далее, опять выбираем свойства консоли и выбираем Точечные шрифты
Обратите внимание, если выбрать Размер 8х12 то ничего не изменится, поэтому лучше выбрать 12х16. И мы вроде бы получили то что было изначально,
Но, попробуем прочитать что-либо через удаленную консоль
Как видите теперь можно нормально прочитать, что нам сообщает удаленная консоль.
К сожалению в текущей консоли мы потеряли возможность читать сообщения переданые локально
Но это решается запуском второй консоли 🙂
Если у вас есть еще какой либо способ решения этой проблемы, напишите мне. Я буду этому очень рад .
Автор — Владимир Озеров aka Neonaft

Exit mobile version