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

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

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

Она позволяет удаленно запускать консольные (и не только) программы на нужных вам компьютерах, и получать их выход в случае возможности. Так же она не требует, что-либо устанавливать, на управляемый компьютер.

clip_image001

Идеологическим продолжением этой утилиты и самой актуальной средой на сегодня является среда 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 на управляемом компьютере.

clip_image002

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

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

clip_image003

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

chcp 1251

clip_image004

После начинаются танцы с бубном J

Заходим в свойства текущей консоли и выбираем шрифт Lucida Console

clip_image005

Консоль преображается

clip_image006

Далее, опять выбираем свойства консоли и выбираем Точечные шрифты

clip_image007

Обратите внимание если выбрать Размер 8х12 то ничего не изменится, поэтому лучше выбрать 12х16. И мы вроде бы получили то что было изначально,

clip_image008

Но, попробуем прочитать что либо через удаленную консоль

clip_image010

Как видите теперь можно нормально прочитать, что нам сообщает удаленная консоль.

тоже самое с PsExec

image

К сожалению в текущей консоли мы потеряли возможность читать сообщения переданные локально

clip_image012

Но это решается запуском второй консоли

Если у вас есть еще какой либо способ решения этой проблемы, напишите мне. Я буду этому очень рад .

Детали vozerov
Системный администратор. Специализируюсь на Windows системах. Увлечения разные :)

Оставьте комментарий