С тех пор как в 1998 г. в продажу поступил пакет Windows NT Server 4.0, Terminal Server Edition (WTS), специалистам Microsoft удалось значительно облегчить работу с клиентом тех пользователей, которые для соединения с серверами терминалов применяют RDP. В системе Windows Server 2003 клиент RDP выполняет почти те же функции, что и клиент ICA, служащий для соединения с серверами Citrix MetaFrame. Единственное, чего он не умеет, — это обеспечивать публикацию приложений и поддержку технологии Seamless Windows. Для тех, кто не знаком с системой MetaFrame, поясню, что публикация приложений позволяет поддерживать соединение с одним приложением на терминальном сервере, а Seamless Windows дает пользователям возможность поддерживать несколько соединений с сервером терминала, причем все они подключаются к одному сеансу, и увеличения объема потребляемых ресурсов не происходит.

Однако так уж сложилось, что ни в WTS, ни в Windows 2000 Server Terminal Services компания Microsoft не уделяла столь пристального внимания усовершенствованию средств управления серверами. Система Windows NT 4.0 появилась на свет раньше, чем WTS, поэтому ядро NT не было оснащено средствами управления серверами терминалов; даже операции по управлению учетными записями пользователей приходится выполнять на машине WTS или с помощью совместимого с WTS диспетчера User Account Manager. Ядро системы Windows 2000 уже наделено функциями взаимодействия с Terminal Services, однако имеющиеся инструментальные средства управления серверами могут «справляться» лишь с небольшим числом пользователей или серверов, потому что настройки Terminal Services приходится конфигурировать для каждой учетной записи или компьютера отдельно. Поскольку такие параметры Terminal Services, как маршрут профиля, не отображаются средствами служебных интерфейсов Active Directory (Active Directory Service Interfaces, ADSI), сценарии не позволяют выполнять в сфере управления серверами задачи более сложные, нежели те, что решаются средствами командной строки. Эти ограничения не доставляют особых неприятностей, если не предполагается менять принимаемые по умолчанию параметры или если требуется настроить всего две или три учетные записи пользователей или серверов. Но если администратору приходится конфигурировать и согласованно управлять более значительным числом пользовательских настроек и серверов терминалов, задача усложняется.

Создатели Windows 2003 многое сделали для того, чтобы серверы терминалов — и настройки учетных записей пользователей, касающиеся служб Terminal Services, — стали более управляемыми. Многие настройки отображаются средствами интерфейсов ADSI и встроенной инфраструктуры для управления устройствами, прикладными программами и другими ресурсами, именуемой Windows Management Instrumentation (WMI). Управлять настройками можно с помощью административных сценариев или посредством объектов групповых политик Group Policy Objects (GPO), которые применяются к организационным единицам (OU). Далее я расскажу о некоторых GPO, предназначенных для управления настройками пользователей и компьютеров, и покажу, как эти объекты применяются для решения типичных задач.

Размещение политик для терминальных серверов

Если на компьютере Windows 2003 открыть редактор групповых политик Group Policy Editor (GPE), появится новая папка — Administrative TemplatesWindows ComponentsTerminal Services. Такая папка имеется как внутри папки Computer Configuration, так и в папке User Configuration. На Экране 1 показаны настройки, применимые к папке Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal Services. Некоторые из этих настроек дублируются в папке User ConfigurationAdministrative TemplatesWindows ComponentsTerminal Services. Настройки Computer Configuration распределены по нескольким подкаталогам Terminal Services. В Таблице 1 указано расположение параметров настройки служб Terminal Services как в папке Computer Configuration, так и в папке User Configuration.

Экран 1. Политики компьютера для Terminal Services.

Чтобы выполнить настройку, следует щелкнуть на ней дважды и в открывшемся окне Properties выбрать, соответственно, вариант Enable или Disable. При указании некоторых параметров придется вводить дополнительную информацию; например, при выборе собственных каталогов пользователя (user home directories) для сеансов связи с терминалом необходимо указывать локальный или сетевой путь и — в тех случаях, когда доступ к собственным каталогам осуществляется по сетевым маршрутам, — буквенное обозначение накопителя, к которому требуется привязать маршрут. Почти все настройки применимы лишь к серверам терминалов Windows 2003 или к Windows XP Remote Desktop Connection, однако отдельные параметры (например, настройка, обеспечивающая удаление кнопки Disconnect из меню Start) применимы и к серверам терминалов Windows 2000. Ограничения по версиям указаны в диалоговых окнах Properties соответствующих политик.

Те, кому когда-либо доводилось редактировать принимаемые по умолчанию настройки Terminal Services для пользователей и серверов терминалов, знают, что для настроек, которые можно указывать как для серверов, так и для пользователей, существует приоритет использования. Обычно, если какой-то параметр указан и для серверов, и для пользователей (как, скажем, принимаемые по умолчанию параметры назначения принтеров), приоритет отдается пользовательской настройке. С помощью Terminal Services Configuration администратор может отменить приоритет пользовательских настроек и отдать предпочтение настройкам сервера. Так вот, если не сконфигурировать объект GPO, будут выполняться те настройки, которым желательно предоставить приоритет. Но если выполнить конфигурирование GPO, настройки этого объекта получат приоритет над всеми параметрами, которые введены с помощью Terminal Services Configuration или указаны в свойствах учетных записей пользователей. Причем приоритет будет сохраняться и в тех случаях, когда данный объект GPO активизируется, и в ситуациях, когда его использование прекращается. Если указать одну и ту же настройку и для пользователей, и для компьютеров (это возможно для ряда настроек, таких, как параметры функций дистанционного управления), настройки компьютера будут иметь приоритет. Если ассоциировать объекты GPO с различными контейнерами домена, приоритеты определяются применяемыми в нем правилами наследования политик.

Всегда следует соблюдать осторожность при применении или отмене политик: если не вдумываться в смысл пояснений в окнах GPO, легко допустить ошибку. Например, если вводится настройка, предусматривающая применение смарт-карт с сервером терминала, следует сбросить флажок Do Not Allow Smart Card Redirection Policy.

Применение объектов GPO к серверам терминалов

Чтобы применять объекты групповых политик к серверам терминалов, нужно, прежде всего, создать организационную единицу (OU) для терминальных серверов и, при необходимости, еще одну единицу OU — для клиентов терминальных серверов. Необходимо открыть оснастку Active Directory Users and Computers консоли Microsoft Management Console (MMC) и правой клавишей мыши щелкнуть на значке домена в левом окне. В контекстном меню следует выбрать пункты New и Organizational Unit. Новой единице OU нужно дать имя TerminalServers или другое столь же понятное имя и ввести в нее все серверы приложений.

В службе Terminal Services не предусмотрены специальные настройки для пользователей, поэтому, вероятно, будет достаточно просто сформулировать правила для терминальных серверов. Но можно и не указывать все настройки (к примеру, касающиеся дистанционного управления сеансами пользователя) на уровне компьютеров. Существует несколько методов применения настроек для пользователей. В частности, для тех, кто имеет право регистрироваться на серверах терминалов, можно создать особую организационную единицу. Но надо сказать, что объекты AD могут находиться только в одной организационной единице, так что помещать всех сотрудников в OU, привязанную к службам терминалов, не всегда целесообразно. Другой метод — применять настройки к создаваемым организационным единицам пользователей и обеспечивать выполнение соответствующих настроек при регистрации таких пользователей на серверах терминалов с помощью циклических политик. Чтобы реализовать этот процесс, нужно в организационной единице Terminal Servers активизировать режим Group Policy Loopback Policy Processing Mode. Эта политика, доступ к которой осуществляется через последовательный выбор пунктов меню Computer ConfigurationAdministrative TemplatesSystemGroup Policy, определяет, каким образом пользовательские правила применяются на специализированных компьютерах, таких, как серверы терминалов. Чтобы обеспечить приоритет выполнения политик терминальных серверов, нужно выбрать закладку Settings соответствующей политики и щелкнуть на пункте Replace из меню.

После того как организационные единицы для пользователей и серверов терминалов созданы, можно приступать к применению новых политик к этим единицам. Почти все правила применяются к серверам, поэтому я покажу, как конфигурировать серверы. Нужно щелкнуть правой клавишей мыши на организационной единице Terminal Servers и выбрать в меню пункт Properties. Затем следует перейти на закладку Group Policy — откроется диалоговое окно, изображенное на Экране 2. Чтобы создать новый объект GPO, необходимо щелкнуть на пункте New (на экране показан новый GPO с именем TS Policies), затем на кнопке Edit и вернуться в окно редактора групповых политик Group Policy Object Editor, показанное на Экране 1.

Экран 2. Добавление нового объекта GPO для OU.

Теперь можно приступать к конфигурированию параметров новой политики. Ниже я приведу несколько примеров конфигурирования, которые могут послужить ориентирами.

Настройка параметров дистанционного управления. Средства дистанционного управления позволяют администратору подключаться к сеансу пользователя и видеть, что делает этот пользователь, или непосредственно взаимодействовать с сеансом. Если применяются настройки по умолчанию, пользователь должен явным образом разрешить администратору дистанционно управлять своим сеансом, и только после этого администратор получает возможность взаимодействовать с данным сеансом. Чтобы изменить принимаемые по умолчанию настройки OU, следует открыть окно Computer ConfigurationAdministrative TemplatesWindowsComponentsTerminal Services и активизировать настройку Sets rules for remote control of Terminal Services user sessions, как показано на Экране 3. Из списка Options можно выбрать настройку, полностью отключающую дистанционное управление. Другая возможность — выбрать настройку одной из двух главных групп: Full Control (при выборе этого режима администратору предоставляется право взаимодействовать с сеансом пользователя) и View Session (данный режим позволяет администратору наблюдать за действиями пользователя, но не дает права предпринимать что-либо). При выборе одного из двух последних вариантов можно указать, должен ли пользователь явным образом разрешить администратору вести наблюдение за своим сеансом или администратор может подключаться к сеансу без соответствующего разрешения. Эти настройки можно также устанавливать в окне User ConfigurationAdministrative TemplatesWindowsComponentsTerminal Services. Если устанавливаются правила как для пользователей, так и для компьютеров, приоритет имеют последние.

Экран 3. Установка правил для удаленного управления.

Установка пути к профилю и собственного каталога для терминальных сеансов. Раньше перенос маршрутов профилей из WTS в Terminal Services был сопряжен с некоторыми трудностями: дело в том, что маршрут профиля Terminal Services — в отличие от маршрута профиля пользователя — не отображался интерфейсами ADSI в качестве свойства объекта «учетная запись пользователя». Поэтому данные маршруты профилей можно было конфигурировать только в процессе редактирования свойств учетной записи пользователя — или с помощью графического интерфейса, или посредством инструмента командной строки Tsprof. Теперь же эта информация представлена в групповых политиках. Правила, управляющие профилями пользователей и их каталогами, находятся в корневой папке Terminal Services; данную папку можно открыть, выбрав следующие пункты меню: Computer ConfigurationAdministrative TemplatesWindows Components. Необходимо активизировать функции Set Path for TS Roaming Profiles и TS User Home Directory. Чтобы задать путь профиля, следует ввести имя компьютера и путь к каталогу профиля; имя пользователя сервер введет автоматически. Если же указанный путь не существует (или сервер не может им воспользоваться), учетная запись будет применять локальные профили.

Подобным же образом указывается и собственный каталог: нужно активизировать правило, ввести имя совместно используемого сетевого ресурса в нотации UNC и, если это необходимо, назначить буквенное обозначение для локального накопителя (для приложений, запрашивающих буквенное обозначение накопителя). Обычно я не рекомендую размещать собственный каталог пользователя на локальном терминальном сервере — если, конечно, это не единственная возможность. Ведь в таком случае пользователю приходится работать с разными собственными каталогами, в зависимости от того, к какому серверу он подключен, а значит, затрудняется и осуществление резервного копирования, и поиск файлов пользователя.

На пути к совершенству

Каждая новая версия службы Terminal Services становится новым этапом на пути к законченному решению, пригодному даже для крупных организаций с большим числом пользователей. Конечно, служба Windows 2003 Terminal Services всех проблем не решит, так что независимые поставщики без работы не останутся. Но тем не менее можно утверждать, что, наделив эту службу мощными средствами управления серверами и группами, специалисты Microsoft значительно упростили процесс конфигурирования большого числа учетных записей серверов и пользователей.

Криста Андерсон — независимый автор и консультант журнала Windows & .NET Magazine. Ее последняя книга — «Mastering Local Area Networks». С ней можно связаться по адресу: candersn@adelphia.net.