Администраторы сетей на базе Win-dows давно уже сетуют на сложности удаленного управления системами в этой среде. Полного набора средств для выполнения такого рода задач нет ни в самой Windows NT, ни в прилагаемых к ней комплектах ресурсов, а то, что есть, не вполне удовлетворяет специалистов как с точки зрения функциональности, так и по параметрам безопасности (типичный пример тому - служба Telnet системы NT). И дело, пожалуй, не столько в инструментарии, сколько в том, что средства дистанционного управления не предусмотрены ни в базовой поставке ОС, ни в ее службах или компонентах. Можно, конечно, воспользоваться графическими пакетами дистанционного управления, скажем pcAnywhere32 компании Symantec, но это связано с дополнительными расходами в виде лицензионных платежей, сумма которых зависит от числа серверов в сети. И потом, возможности программ такого рода ограничены хотя бы потому, что значительная часть полосы пропускания уходит на обслуживание запросов собственно графического интерфейса Windows.

Если не считать нареканий на нестабильность и на то, что систему приходится часто перезапускать, претензии к NT связаны в основном с отсутствием программ с интерфейсом командной строки и встроенных средств дистанционного администрирования. Как-то на конференции я слышал, как Марк Минаси, внештатный редактор журнала Windows 2000 Magazine, прокомментировал ситуацию так: «Что требуется для управления удаленным сервером UNIX? Протокол Telnet. А если это сервер NT? Тут уже не обойтись без авиабилета до места эксплуатации сервера».

Конечно, такое сравнение систем на базе Windows и ОС типа UNIX, предполагающих использование интерфейса командной строки, может вызвать улыбку, однако оно обнажает весьма серьезный вопрос - необходимость оснащения серверов Windows современными средствами дистанционного администрирования. Впрочем, к чести сотрудников корпорации Microsoft надо сказать, что в ответ на жалобы пользователей NT они всерьез взялись за эту проблему при разработке Windows 2000.

Служба терминалов

Предложенное Microsoft решение складывается из двух составляющих. Во-первых, в ОС Windows 2000 были реализованы усовершенствованные утилиты командной строки, и это сократило число задач, требующих использования графических средств. В рамках этого подхода разработчики создали новые утилиты командной строки, такие, как NetShell (Neth), и усовершенствовали утилиты командной строки системы NT. Во-вторых, специалисты Microsoft реализовали удаленный доступ к серверам через графический интерфейс, расширив возможности технологии, реализованной в семействе продуктов Windows 2000 Server (речь идет о службе терминалов Windows 2000 Server Terminal Services).

В системе NT терминальные службы для тонких клиентов реализованы в версии NT Server 4.0 - Terminal Server Edition (WTS). Эта версия NT Server 4.0 построена на базе обеспечивающего взаимодействие с несколькими пользователями ядра, которое значительно отличается от других версий NT. WTS можно оснастить дополнительными службами и средствами, которые имеются в Citrix MetaFrame. Эти средства предоставляют удаленным клиентам и терминалам на базе Windows (Windows-based terminals, или WBTs) доступ к NT и прикладным программам на базе Windows, но в то же время они могут обеспечить доступ и администраторам, позволяя им управлять сервером терминалов.

В ядре операционной системы Win-dows 2000 разработчики Microsoft реализовали средства терминальной службы для всех версий Windows 2000 Server. Кроме того, здесь предусмотрен особый режим функционирования системы, предназначенный для обеспечения дистанционного администрирования любого сервера Win-dows 2000. Чтобы иметь возможность работать в этом режиме, не требуются особые лицензии, как в случае с обычным режимом работы службы терминалов - режимом сервера приложений. Достаточно просто активизировать службу Termi-nal Services в режиме административного управления на любом сервере Windows 2000; дополнительные лицензии для клиентов при этом не нужны. Хотя служба Terminal Services обеспечивает взаимодействие только с клиентами Windows, в систему Win-dows 2000 включены также 16- и 32-разрядные версии клиентов службы терминалов RDP 5.0. Таким образом, серверы Windows наконец-то получили полнофункциональные средства дистанционного администрирования и управления. Иначе говоря, теперь для удаленного администрирования серверов Windows уже нет нужды покупать ни программные пакеты дистанционного управления, ни авиабилет до места эксплуатации сервера. О том, как управлять машинами, которые работают в средах, отличных от Windows 2000 Server, рассказано во врезке «Дистанционное управление другими компонентами сети».

Установка службы Terminal Services

Установка службы Terminal Services особой сложности не представляет. Это можно сделать при выполнении этапа Additional Components процесса инсталляции Windows 2000 или после первоначальной установки Windows 2000 - в последнем случае надо обратиться к закладке Add/Remove Win-dows Components модуля Add/Remove Programs панели управления. Для установки службы достаточно выставить флажок Terminal Services, как показано на Экране 1. По умолчанию предполагается, что наряду с этим на сервере будет установлено программное обеспечение клиента Terminal Services, а также утилита, обеспечивающая создание установочных дисков для клиентов. Если нужно заблокировать инсталляцию клиентского ПО и процедуру создания установочных дисков для клиентов, щелкните на пункте Terminal Services и выберите элемент Details. На экране появится окно, в котором следует сбросить флажок Client Creator Files. Если же не блокировать установку клиентского ПО, то Windows 2000 скопирует его на сервер в папку %Systemroot%system32clients sclient. Позднее можно предоставить ее в коллективное пользование, чтобы установочные файлы клиентского программного обеспечения стали доступными для удаленных клиентов.

Экран 1. Установка службы терминалов.

Установив флажок Terminal Services, нужно нажать Next, в результате чего будет запущен показанный на Экране 2 мастер Components Wizard. Он предложит указать, какой режим функционирования - режим дистанционного администрирования или режим сервера приложений - требуется настраивать. Выберите режим дистанционного администрирования, сервер будет сконфигурирован для выполнения двух клиентских сеансов управления, причем дополнительные лицензии не потребуются. Более того, это позволит свести к минимуму снижение производительности сервера, неизбежное при активизации службы Terminal Services.

Экран 2. Выбор режима работы службы терминалов.

Проблема производительности имеет здесь особое значение, поскольку программные средства дистанционного управления и служб терминалов всегда отличаются требовательностью к ресурсам. Между тем выбор режима дистанционного администрирования по определению означает, что администратор хочет получить возможность удаленного управления устройствами, не обрекая при этом пользователей на резкое сокращение производительности в периоды интенсивной работы сервера терминалов.

При любом варианте установки службы Terminal Services на сервер Win-dows 2000 (т. е. при установке с помощью оснастки Add/Remove Programs) функции дистанционного администрирования активизируются лишь после повторного запуска системы. Надо сказать, что обычно при обслуживании системы Windows 2000 перезагружать компьютер приходится гораздо реже, чем при работе с NT, однако служба Terminal Services является исключением из этого правила.

Автоматическая установка

Процесс установки службы Terminal Services можно автоматизировать с помощью сценариев. Такая возможность особенно полезна в тех случаях, когда администратор уже использует сценарии инсталляции в автоматическом режиме при развертывании серверов Windows 2000.

Устанавливать службу автоматически можно с использованием сценариев автоматической установки, запускаемых с помощью ключа /u программ установки winnt или winnt32. Кроме того, для этого можно создать сценарий на базе службы Remote Instal-lation Services (RIS).

Для того чтобы установить и запустить службу Terminal Services без участия администратора, необходимо модифицировать разделы [Compo-nents] и [TerminalServices] файла автоматической установки (он может называться, скажем, unattend.txt). Если таких разделов в файле нет, их нужно создать. Раздел [Components] управляет установкой службы Terminal Services и клиентского ПО, а раздел [Terminal Services] - режимом конфигурирования службы Terminal Services.

[Components]
TSEnable = ON
TSClients = ON
[TerminalServices]
ApplicationServer=0

Более подробно эти параметры описаны в Таблице 1.

Параметры терминальной сессии

Служба терминалов Windows 2000 прекрасно функционирует в заданной изготовителем конфигурации, однако администратору может понадобиться изменить установки, принимаемые по умолчанию. Для настройки соединения службы терминалов используется утилита конфигурирования службы терминалов на базе консоли Microsoft Management Console (MMC); окно этой программы показано на Экране 3. Утилита в меню расположена в группе программ Administrative Tools сервера службы терминалов или в группе Windows 2000 Support Tools, которая устанавливается с компакт-диска Windows 2000 Professional.

Экран 3. Настройка соединения.

Допустим, потребовалось изменить алгоритм шифрования, используемый при передаче данных на сервер и с сервера в сеансе связи с клиентом RDP. При обмене данными с клиентами сервер терминалов Windows 2000 по умолчанию использует шифрование среднего уровня; иначе говоря, поступающие как на сервер, так и от сервера данные кодируются посредством стандартного 56-разрядного ключа. При шифровании низкого уровня тоже используются 56-разрядные ключи, однако служба терминалов шифрует только данные, поступающие от клиента к серверу. Ну а если используется шифрование высокого уровня, служба терминалов шифрует данные, направляемые как от сервера, так и на сервер, с помощью 128-разрядного ключа (если, конечно, и сервер, и клиент оснащены соответствующими средствами). Нетрудно догадаться, что с повышением уровня шифрования снижается быстродействие - чем надежнее код, тем больше времени требуют сеансы обмена с клиентами. Соответственно, если используется шифрование низкого уровня, производительность возрастает, но и риск несанкционированного доступа к информации - тоже, поскольку данные, пересылаемые службой терминалов в направлении сервер-клиент, не шифруются вообще.

Чтобы изменить уровень шифрования, нужно найти в списке, отображаемом в правой панели консоли, соединение RDP-Tcp, щелкнуть на нем правой кнопкой мыши и в открывшемся меню выбрать пункт Properties. На экране появится окно RDP-Tcp Properties (см. Экран 4). Нужно выбрать вкладку General и в разделе Encryption указать желаемый уровень шифрования.

Экран 4. Настройка уровня шифрования для соединения RDP-Tcp.

Возможно, потребуется изменить другие установки, связанные с дистанционным администрированием: например, параметры, задаваемые на вкладке Sessions окна RDP-Tcp Properties. Эти установки определяют, как служба терминалов реагирует на превышение тайм-аутов (timeouts) и как она прерывает сеансы связи с клиентами. К примеру, администратор может настроить службу терминалов таким образом, чтобы изменить заданные на стороне клиента значения различных параметров - лимитов времени на активные и бездействующие сеансы связи; задать реакцию системы (завершение сеанса или его отключение) на ситуацию, когда выделенный на сеанс лимит времени будет исчерпан, а также установить, каким образом и в какой момент времени прекращаются сеансы после инициированного пользователем отключения. Назовем еще две полезные вкладки: Permissions (она дает возможность указывать имена пользователей и групп, получивших право доступа к серверу службы терминалов) и Remote Control (позволяет удаленно управлять сеансом).

Экран 5. Управление удаленными сеансами клиентов.

Существует еще одна процедура управления службой терминалов, которой администраторам приходится заниматься хотя бы время от времени, - это работа с сеансами удаленных клиентов. Чтобы выполнить подобную операцию с сервера, на котором установлена служба терминалов, нужно запустить Terminal Services Manager (это еще одна утилита из группы Administrative Tools). Программа Ter-minal Services Manager (см. Экран 5) позволяет выполнять на сервере различные административные процедуры: восстанавливать активные, бездействующие или отключенные сеансы пользователей; завершать выполняющие процессы, отправлять сообщения подключенным пользователям, а также определять состояние сеансов. Кроме того, с помощью этой утилиты можно выполнять мониторинг сеанса (session shadowing), т. е. дистанционно наблюдать за сеансом связи пользователя с сервером терминалов или даже управлять им. Впервые эта функция была реализована компанией Citrix в службе терминалов на базе протокола архитектуры независимых вычислений ICA (Indepen-dent Computing Architecture). Теперь же ее воспроизвела и Microsoft в службе терминалов Windows 2000 на базе протокола RDP. Эта функция будет весьма кстати, если вдруг обнаружится, что в сети работает неизвестный пользователь с правами администратора, или потребуется помочь новому администратору, который находится в другом офисе. Кроме того, утилита Terminal Services Manager, как и большинство других административных инструментов Windows 2000, приспособлена для работы на уровне предприятия и позволяет администратору управлять не просто одним локальным сервером, а всеми серверами организации, на которых установлена служба терминалов.

Клиент TSAC: служба терминалов выходит в глобальную сеть

Порой корпорация Microsoft сопровождает шумной рекламной кампанией выпуск новых изделий, совсем того не заслуживающих, а бывает, и наоборот, очень полезные средства включаются в новые сервисные пакеты или обновленные версии программ, как говорится, совсем без фанфар. Именно так - очень скромно - дебютировал клиент Terminal Services Advanced Client (TSAC), поставляемый на компакт-диске с пакетом обновлений Windows 2000 Service Pack 1 (SP1). Эту программу также можно заказать на сайте Microsoft по адресу: http://www.microsoft.com/windows2000/ downloads/recommended/tsac. Напомню, что TSAC не является частью SP1 и не входит в загружаемую через Internet версию пакета исправлений. TSAC дополняет построенную на базе протокола RDP службу терминалов Windows 2000 Web-клиентом, отсутствовавшим в более ранних версиях.

TSAC представляет собой модуль расширения для любого сервера Windows 2000 или NT 4.0, на котором выполняется программа Microsoft Internet Information Server (IIS) версии 4.0 или более поздней. После установки клиента TSAC на сервере IIS последний превращается в своего рода шлюз службы терминалов, в систему, способную распределять и направлять сеансы Web-клиентов.

Клиентская часть модуля TSAC функционирует следующим образом. С помощью программы Microsoft Internet Explorer (IE) удаленный клиент соединяется с сервером IIS, на котором установлен модуль TSAC. Сервер выводит клиенту страницу, показанную на Экране 6, чтобы клиент мог соединиться с сервером службы терминалов внутри организации. В этот момент клиент загружает ActiveX-версию клиента RDP Terminal Services, поставляемую с Windows 2000 (разумеется, если на данный момент клиент ее не имеет). После загрузки клиент может проводить сеансы с сервером терминалов как в окне браузера, так и в полноэкранном режиме.

Экран 6. Стандартная страница соединения с использованием TSAC.

Еще одно достоинство клиента TSAC состоит в том, что его можно без проблем подключать и запускать из любого браузера IE, обеспечивающего загрузку и выполнение элементов управления ActiveX. К тому же клиент TSAC предоставляет администраторам больше возможностей для работы со службами терминалов, поскольку теоретически позволяет выполнять операции дистанционного управления из любого браузера IE, имеющего доступ к серверу.

Надо сказать, что и после выпуска TSAC в способе подключения клиентов к обеспечивающим службу терминалов серверам Windows 2000 принципиально ничего не изменилось. На выполняющем программу TSAC сервере IIS, хотя он и играет роль точки подключения для серверов службы терминалов, упомянутую службу можно и не устанавливать. Этот сервер IIS является лишь точкой распределения и подключения для удаленных клиентов, не более того. Далее, несмотря на то, что подключение клиентов осуществляется через оснащенный клиентом TSAC шлюз (Web-сервер), в конечном счете соединение между удаленным клиентом и сервером устанавливается не через упомянутый Web-сервер, а напрямую. Эти сеансы выполняются через порт TCP 3389 (между прочим, трафик RDP служб терминалов обычно тоже идет через этот порт). Поэтому при использовании TSAC через Internet или обычные соединения необходимо позаботиться о том, чтобы средства сетевой защиты не блокировали данный порт.

Однако TSAC - не единственный клиент RDP, ориентированный на работу в среде Web. Разработанная фирмой HOB программа HOBlink JWT (Java Windows Terminal) представляет собой клиента на базе языка Java, использующего протокол RDP 5.0 и способного взаимодействовать с любым сервером терминалов на базе RDP, в том числе Windows 2000 Server и WTS. Это решение подойдет для организаций, где браузеры IE не используются. Кроме того, его могут взять на вооружение администраторы, заинтересованные в функциональных возможностях, которыми не располагает TSAC.

Одна голова - хорошо, а четыре - лучше

По умолчанию при соединениях с TSAC используется HTML-файл default.htm. В нем содержится код на языке VBScript, обеспечивающий отображение сеанса связи с сервером терминала в окне браузера. Но вот как-то раз, просматривая на Web-сервере файлы, имеющие отношение к клиенту TSAC, я обнаружил другой файл с именем manyservers.htm. Заглянув в документацию по TSAC, я выяснил, что с помощью этого файла можно отображать в одном окне браузера несколько Web-серверов. Решив, что эта возможность вполне может пригодиться, я установил соединение с сервером TSAC, на этот раз указав в поле URL другое имя - manyservers.htm.

В итоге в одном окне браузера было отображено четыре окна сеансов с сервером терминалов. Правда, во всех четырех соединениях участвовал один и тот же сервер, так что проку от новой конфигурации было немного. Вернувшись к документации, я обнаружил, что, во-первых, этот файл HTML нельзя назвать законченным продуктом, во-вторых, он недостаточно документирован, и, в-третьих, эффект от его использования на самом деле не совсем такой, как обещают изготовители. Тогда я твердо решил, что негоже склонять голову перед строптивым файлом и надо попытаться его модифицировать, чтобы все-таки отобразить на одной странице браузера четыре окна, представляющие соединения с четырьмя серверами. Мои усилия увенчались успехом: после некоторой подстройки я получил страницу, которая формирует запрос и обеспечивает отображение четырех отдельных серверов. С тех пор я использую эту страницу (см. Экран 7), если мне нужно одновременно видеть состояние нескольких серверов.

Экран 7. Страница соединения manyservers.htm, поддерживающая четыре сессии.

Эта административная консоль для четырех серверов генерируется созданной мною измененной версией файла manyservers.htm, которая представлена в Листинге 1. При желании подобным же образом оптимизировать файл manyservers.htm нужно начать с переименования исходного файла или, по крайней мере, с создания его резервной копии. Кроме того, если нужно, чтобы на экране отображался логотип компании, в Листинге 1 следует изменить тег HTML, управляющий файлом MYLOGO.bmp, т. е. заменить последний на нужный файл. В противном случае этот элемент описания можно просто опустить.

Новый этап в развитии систем дистанционного администрирования с включением службы терминалов и режима дистанционного администрирования в набор стандартных компонентов Windows 2000 Server средства управления системой Windows 2000 выходят на новый уровень. Еще один важный шаг был сделан в тот момент, когда Microsoft включила в состав пакета SP1 модуль TSAC. В системе появился Web-клиент, с помощью которого администратор может обслуживать серверы практически из любого места. Конечно, служба терминалов не решает проблем удаленного управления настольными системами. Однако необходимые для этого инструментальные средства можно получить по весьма сходной цене, а то и вовсе задаром в виде бесплатных, условно-бесплатных и коммерческих продуктов независимых поставщиков. И если вы еще не включили на всех своих серверах Windows 2000 службу терминалов в режиме администрирования, я настоятельно рекомендую это сделать.

Шон Дейли - редактор журнала Windows NT Magazine и президент компании iNTellinet Solutions. Имеет звание MCSE. С ним можно связаться по адресу электронной почты: sean@ntsol.com.


Дистанционное управление другими компонентами сети

Спору нет, включение службы Windows 2000 Server Terminal Services в семейство продуктов Windows 2000 Server - это поистине бесценный подарок для администраторов. Но как решать проблему дистанционного управления машинами, функционирующими в других средах, - такими, как системы Windows 2000 Professional, рабочие станции и серверы Windows NT 4.0, а также системы, работающие под управлением ОС, отличных от Windows? Для удаленного управления этими системами можно использовать стандартные пакеты дистанционного управления: pcAnywhere фирмы Symantec, Carbon Copy корпорации Compaq, Timbbuktu фирмы Netopia и ControlIT компании Computer Associates (CA). Да, за них придется платить, но в этих продуктах реализованы мощные средства дистанционного управления, передачи файлов и печати.

Есть, впрочем, еще одно решение, примечательное не только своими функциональными возможностями, но и тем, что пользоваться им можно совершенно бесплатно. Компания AT&T Research (вернее, ее подразделение AT&T Labs Cambridge) разработала продукт под названием Virtual Network Computing (VNC), обеспечивающий дистанционное управление клиентами Windows, UNIX и Macintosh. Правда, устанавливать эту программу, да и работать с ней, сложнее, чем со службой Terminal Services и со многими коммерческими пакетами дистанционного управления независимых поставщиков. Зато она отличается высокой производительностью и предоставляет администратору замечательные инструментальные средства. С помощью этой программы можно осуществлять дистанционное управление всей сетью, включая клиентские рабочие станции и серверы прежних лет выпуска. Между прочим, взяв на вооружение VNC, есть смысл подумать и о том, чтобы в будущем сделать это средство стандартным компонентом программ развертывания рабочих станций (скажем, включить его в стандартный диск или в образы Microsoft Installation Services - RIS). Утилита WinINSTALL/Limited Edition (LE), распространяемая корпорацией Microsoft на компакт-диске Windows 2000 Server, позволяет формировать установочный пакет .msi, который администратор затем может разворачивать с помощью групповой политики или решений независимых поставщиков.