В серии статей, посвященных настройке Server Core  - варианта Windows Server 2008 без графического интерфейса -  я рассказываю о том, как дать имя серверу, присвоить ему DNS-суффикс, назначить статические IP-адреса, включить автоматическое обновление и использовать Ocsetup и Oclist -утилиты, позволяющие добавлять или удалять серверные компоненты, такие как службы DNS и DHCP. В этой статье речь пойдет о настройке удаленного администрирования Server Core с помощью нового инструмента удаленного доступа - Winrs.

Более удачный вариант

Когда я настраиваю системы Server Core, мои клиенты всегда спрашивают, как включить удаленный рабочий стол. Я отвечаю: "Подождите! Есть более удачный вариант!" В системе Server Core не работает 95 % приложений с графическим интерфейсом, поэтому нет смысла включать удаленный рабочий стол, особенно учитывая, что Server 2008 и Windows Vista используют одну и ту же новую защищенную командную оболочку удаленного управления - утилиту Winrs.

Утилита Winrs хороша тем, что не требует открытия какого-либо из пяти "опасных портов" - TCP 135, 139, 445 или UDP 137, 138. Winrs работает через TCP-порт 80. По сути, утилита работает по протоколу HTTP, точнее, HTTPS. Для этого используются преимущества относительно нового протокола Windows Remote Management (WinRM), встроенного в Server 2008 и Vista. Для включения WinRM в командной строке (с административными привилегиями) набираем команду:

 winrm quickconfig -quiet

Указанную команду следует выполнить на управляемом узле и на клиентском компьютере, это делается только один раз.

Протокол WinRM позволяет Winrs взаимодействовать только с теми узлами, которым он доверяет. Протокол WinRM доверяет всем членам леса Active Directory (AD), но клиент WinRM не будет взаимодействовать с другой системой рабочей группы, пока вы не дадите на это разрешение с помощью команды

 winrm set winrm/config/client @{TrustedHosts=""},

где ‘список' - это либо разделенный запятыми перечень DNS-имен или IP-адресов систем, которым следует доверять, либо символ *, означающий "доверять любому узлу". Например, для установления отношений доверия с системой с адресом 192.168.1.7 и системой по имени ace.bigfirm.com следует ввести команду

 winrm set winrm/config/client @
  {TrustedHosts="192.168.1.7,ace.bigfirm.com"}

Команда TrustedHosts вводится на клиенте, а не на сервере. Таким образом, если нужно использовать утилиту Winrs для управления системой Server Core из системы Vista, достаточно включить WinRM на обеих системах, а затем выполнить команду TrustedHosts на компьютере Vista (без необходимости ее выполнения на компьютере Server Core). Мне это кажется несколько громоздким. Действительно, учитывая, что Winrs по умолчанию требует аутентификации по NTLM, Kerberos или сертификату при регистрации в системе, это уже обеспечивает достаточный уровень безопасности, так что для обеспечения защиты можно было бы ограничиться вводом следующей команды на клиенте:

 winrm set winrm/config/client @{TrustedHosts="*"}

Ввод в действие

Для просмотра текущего списка узлов, имеющих отношения доверия с вашей системой, воспользуйтесь следующей командой:

 winrm get winrm/config/client

Допуская, что ваша клиентская система доверяет удаленной системе Server Core, и что обе системы выполнили команду 'winrm quickconfig' (или эквивалентную команду Group Policy), введите следующую команду:

 winrs -r: [-u:] 

Если вы дистанционно управляете системой, принадлежащей тому же лесу, и нужно использовать учетную запись, отличную от той, под которой вы зарегистрировались в системе, либо если вы дистанционно управляете системой другой рабочей группы, используйте параметр ‘-u'. Например, чтобы дать команду системе по имени sc1 .bigfirm.com на запуск IPconfig, где система sc1.bigfirm.com имеет административную учетную запись administrator, введите следующую команду:

 winrs -r:sc1.bigfirm.com -u:administrator ipconfig

Затем Winrs запрашивает пароль для учетной записи administrator, и вы получаете результат выполнения команды IPconfig в системе sc1.bigfirm.com. Если необходимо выполнить несколько команд вместо одной - например, чтобы запустить сценарий на Server Core, целесообразно воспользоваться командой

 winrs -r:sc1.bigfirm.com -u:administrator cmd

На моей настольной системе Vista утилита Winrs удобна при использовании командной строки, которую можно открыть в любое время и отдать команду системе Server Core. Я думаю, что WinRM и Winrs представляют собой более удачное решение для удаленного управления системой Server Core, чем Remote Desktop (если только вы не настраиваете удаленное управление с системы Windows XP, у которой отсутствует утилита Winrs).