Полное руководство по терминальным службам Windows Server 2003

         

Active Directory Users and Computers


Active Directory Users and Computers - это административная утилита, используемая для управления OU, пользователями, компьютерами и группами в AD. На следующем рисунке показан интерфейс Active Directory Users and Computers.

В конфигурации по умолчанию объекты AD разделены в 5 основных категорий:

Users - Контейнер по умолчанию для объектов пользователей, содержит встроенных пользователей, таких как Administrator и Guest, а также всех пользователей, которые находились в домене NT 4.0 при обновлении. Этот контейнер также содержит доменные глобальные группы, такие как Domain Admins и Domain Users.

Computers - Контейнер по умолчанию для объектов типа компьютер, включает в себя все рабочие станции и серверы-члены, которые находились в домене NT 4.0 при обновлении.

Domain Controllers - Контейнер по умолчанию для контроллеров доменов

Builtin - Этот контейнер содержит встроенные доменные локальные группы, которые система использует для управления родными правами, как Server and Account Operators and Administrators.

ForeignSecurityPrincipals - Этот контейнер используется системой для хранения ссылок на пользователей и компьютеры из других доверенных доменов.

Если вы управляете небольшим или средним доменом, этих контейнеров достаточно для удовлетворения ваших нужд. Однако, если вам необходимо организовать ваших пользователей, вы можете создать новые контейнеры OU для хранения объектов. Затем вы применяете разрешения к этим OU, чтобы группы администраторов могли управлять пользователями и компьютерами в своих собственных OU.

При интеграции терминальных серверов в AD, желательно создать новый OU специально для терминальных серверов. Это позволит применять объекты групповых политик (GPO) ко всем серверам этого OU, не заботясь о добавлении серверов в группу безопасности, чтобы они получали настройки из политик. Исключение из этого пожелания - если вы используете исключительно тонкие клиенты; в этом случае вам не нужно создавать отдельные GPO для рабочих станций и терминальных серверов.



Allow Log On Through Terminal Services


Доступ к привилегии Allow log on through Terminal Services (разрешен вход через Terminal Services) осуществляется либо из Local Security Policy, либо из редактора групповых политик (GPEDIT.MSC), в Security Settings, Local Policies, User Rights Assignment. После установки роли Terminal Services, эта привилегия дается локальной группе пользователей Remote Desktop Users.

Если терминальный сервер находится в домене AD, редактор Local Security Policy показывает как локальные настройки, так и эффективные, поскольку права могут назначаться доменными групповыми политиками. Если вы обнаружили, что эффективные права не дают достаточных привилегий нужным пользователям, вам следует использовать инструмент Resultant Set of Policy (RSOP.MSC) для определения того, какой объект GPO отзывает право.

Даже в WS2K3 право Log on locally открыто как администраторам, так и пользователям. Если терминальный сервер находится в незащищенной среде, вы можете ограничить это право только для администраторов, а пользователям разрешить доступ только через службу терминалов.



Allow Logon to Terminal Server




Последнее требование для регистрации на терминальном сервере делается на уровне пользователей. В свойствах пользователей есть четыре вкладки, относящиеся к настройкам терминального сервера. Большинство из них затрагивают поведение сеанса при подключении пользователя к терминальному серверу. Вы можете использовать опцию Allow logon to terminal server чтобы целиком ограничивать способность пользователя подключаться к терминальному серверу. По умолчанию эта опция включена.



ASP


Рассматривая масштабное внедрение вертикального приложения, следует учитывать много факторов:

Метод развертывания (Sneakernet, Systems Management Server?SMS, IntelliMirror)

Требования к рабочим станциям (RAM, диски, процессор)

Поддержка и план отката в случае неудачного внедрения

Требования к пропускной способности для приложений

Если приложение не имеет сложной интеграции OLE с другими приложениями на рабочих столах пользователей, вам может подойти модель ASP. Терминальные серверы, особенно вместе с TSAC или другими продуктами публикации приложений, могут быстро и легко предоставлять пользователям необходимые им приложения, не требуя установки и настройки на рабочих станциях. В этой модели приложения инсталлируются на терминальных серверах, а пользователи запускают их из клиентского приложения или веб-браузера.



Change Logon


Разрешает или запрещает новые регистрации на терминальном сервере. Не затрагивает существующих зарегистрированных пользователей.

Для разрешения регистрации:

CHANGE LOGON /enable

Для запрещения новых регистраций:

CHANGE LOGON /disable

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



Change User


Для переключения системы между режимами инсталляции и исполнения, используйте следующие команды.

Для переключения терминального сервера в режим инсталляции:

CHANGE USER /install

Для переключения сервера в режим исполнения:

CHANGE USER /execute



Добавление пакетов в GPO


В главе 4 мы создали OU для терминальных серверов и прикрепили к ней три объекта групповых политик. Один из них - это Terminal Server Machine Policy. Этот объект содержит машинную конфигурацию ваших терминальных серверов, поэтому он уже готов для применения к терминальным серверам. Вы можете добавить программные пакеты к этому GPO, и они будут проинсталлированы на всех компьютерах, входящих в OU "TerminalServers".

Для добавления пакета в GPO, откройте редактор политик, раскройте Computer Configuration, Software Settings. Щелкните правой кнопкой на Software installation, и выберите New, Package:

Укажите имя пакета MSI, который вы хотите добавить. Затем у вас спросят, хотите ли вы назначить пакет или открыть интерфейс расширенных настроек. В большинстве случаев вы можете выбрать Assign и принять опции по умолчанию. Однако, если вам необходимо указать трансформу, выберите Advanced.

Транформа (файл MST) определяет опции или вносит изменения в значения по умолчанию файла пакета Windows Installer (файла MSI). Вы можете создать трансформы используя Microsoft Office Custom Installation Wizard или другую утилиту.



Домашние каталоги


Вы можете настроить учетные записи пользователей так, чтобы при регистрации на терминальном сервере они использовали другие домашние каталоги. Как вы увидите в главе 5, система использует пользовательский домашний каталог на драйве ROOTDRIVE и хранит там скрипты совместимости приложений. Отдельные домашние каталоги для терминалов позволяют держать файлы вне домашнего каталога Windows пользователя. Проблема состоит в том, что если ваш пользователь сохранил свои документы в домашнем каталоге Windows, то пользователю необходим доступ к тому же каталогу при регистрации на терминальном сервере. Если вы определили маршрут к домашнему каталогу Terminal Services, этот маршрут будет прменяться вместо домашнего каталога Windows. Если вы не указали домашний каталог Terminal Services, то будет использоваться домашний каталог Windows.



Домашний каталог и каталог профиля


Будучи системным администратором, вы вероятно знакомы с сетевыми домашними каталогами и перемещаемыми профилями. Эти особенности Windows позволяют поддерживать центральное хранилище для пользовательских документов и настроек профиля, чтобы они были доступны независимо от компьютера, за которым сидит пользователь.

Terminal Services может поддерживать разные хранилища для домашних данных и профилей пользователей.



Дополнительные административные скрипты


Помимо USRLOGON.CMD и скриптов совместимости, вы можете запускать при входе пользователя дополнительные скрипты. Например, вы можете создать скрипт, котрый отображает дополнительные сетевые драйвы или подключает к принтерам. Если вы находитесь в среде AD, то можете добавить скрипты входа в объект групповой политики User Group Policy Object (GPO).

Если терминальный сервер находится в рабочей группе, вы можете заставить систему выполнить дополнительный скрипт, скопировав файл скрипта в каталог \System32 и изменив значение AppSetup в подключе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon. По умолчанию в этом ключе находится только USRLOGON.CMD, но вы можете добавить другие скрипты, отделив их друг от друга запятыми.

Подробнее о добавлении скриптов см. статью Microsoft “How to Set Up a Logon Script Only for Terminal Server Users”

Вместо редактирования ключа реестра AppSetup, вы можете вызывать дополнительные скрипты из USRLOGON.CMD. Если вы не используете ROOTDRIVE, встаьте вызов после метки :Cont0. Если вы используете ROOTDRIVE, вставьте вызов в конец скрипта.



Дополнительные параметры


Помимо настроек, делаемых в Terminal Services Configuration и в редакторе групповых политик, есть несколько параметров, которые администраторы могут устанавливать в реестре. Эти параметры позволяют улучшить производительность серверов, увеличивая число холостых сеансов RDP и запрещая разнообразные украшения дисплея.

Холостые соединения RDP - По умолчанию, сервер создает два холостых сеанса, отвечающих на запросы при открытии клиентом соединения. После подключения пользователя эти сеансы немедленно заменяются новыми холостыми сеансами. Для предотвращения крайне редкого случая, когда два соединения устанавливаются в один и тот же момент времени, вы можете увеличить число холостых сеансов. Я рекомендую увеличить это число до 5, установив значение параметра IdleWinStationPoolCount в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server.

Переопределение настроек рабочего стола пользователей - Эти настройки могут повысить производительность при работе через RDP, уменьшив число обновлений экрана. Для отключения анимации при изменении размеров окна установите значние MinAnimate в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\UserOverride\Control Panel\Desktop\WindowMetrics в 0. Кроме того, вы также можете установить следующие значения параметров в ключе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\UserOverride\Control Panel\Desktop subkey.

Имя параметра

Значение

Описание

AutoEndTasks

1

Автоматическое завершение программы, если она не отвечает

CursorBlinkRate

-1

Немигающий курсор - уменьшает число прорисовок экрана.

DragFullWindows

0

Не показывать содержимое окна при перетаскивании.

MenuShowDelay

10

Задержка при отображении вложенных меню.

WaitToKillAppTimeout

20000

Число миллисекунд ожидания до завершения приложения, если оно не отвечает.

SmoothScroll

Значение типа DWORD 00000000

Запрет плавной прокрутки

Wallpaper

(none)

Запрет обоев

<
Есть также другие настройки, которые вы можете сделать для улучшения общей производительности:

Настроить журнал событий - В Event Viewer настройте свойства каждого журнала так, чтобы ограничить его размер 16Мб (или больше) и перезаписывать журнал при превышении объема.

Настройте сбор отладочной информации - В панели управления, в Advanced Startup and Recovery Options настройте параметры Write Debugging Information для записи дампа отладки в нужное место (или запретите отладку совсем), и установите автоматическую перезагрузку сервера.

Проверьте в реестре ключ HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run, в котором содержатся программы, запускаемые при создании каждого сеанса. Некоторые приложения (включая некоторые антивирусы, сетевые утилиты, утилиты распределения нагрузки) добавляют туда записи для создания иконок в панели задач. Обычно эти иконки используются лишь для упрощения доступа к панели управления или утилитам конфигурации и не требуют запуска всякий раз. Удалив эти записи, вы уменьшите нагрузку, связанную с запуском этих апплетов для каждого терминального сеанса.


Доступ к параметрам пользователя через ADSI


В Win2K с комадной строки для объекта пользователя был доступен единственный атрибут - Terminal Services Profile Path; для доступа к другим атрибутам требовался TSPROF. WS2K3 предоставила доступ ко всем атрибутам через ADSI. Используя Windows Script Host (WSH) и ваш любимый скриптовый язык, вы можете легко конфигурировать пользовательские терминальные настройки. Вот список доступных атрибутов:

objUser.ConnectClientDrivesAtLogonobjUser.ConnectClientPrintersAtLogonobjUser.DefaultToMainPrinterobjUser.TerminalServicesInitialProgramobjUser.TerminalServicesWorkDirectoryobjUser.TerminalServicesProfilePathobjUser.TerminalServicesHomeDirectoryobjUser.TerminalServicesHomeDriveobjUser.AllowLogonobjUser.MaxDisconnectionTimeobjUser.MaxConnectionTimeobjUser.MaxIdleTimeobjUser.BrokenConnectionActionobjUser.ReconnectionAction



Другие балансировщики нагрузки


Хотя служба Microsoft NLB проста в настройке и администрировании, а также бесплатна во всех редакциях WS2K3, есть много причин присмотреться к балансировщикам нагрузки других производителей. Особенно если ваши серверы находятся в разных подсетях или вам необходимо поддерживать более 32 серверов.

Одним из важнейших факторов, которые следует учитывать при выборе балансировщика, является то, как балансировщик определяет нагрузку. Многие балансировщики, включая Microsoft NLB, просто подсчитывают число активных соединений к узлу. В среде терминальных серверов этот метод не всегда адекватен.

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

Помимо балансировщиков нагрузки есть продукты, специально предназначенные для расширения возможностей Terminal Services. Эти продукты не только включают в себя средства распределение нагрузки, но и позволяют публиковать приложения, позволяя пользователям подключаться к приложениям, а не к рабочему столу. Лидерами в этой области являются Citrix MetaFrame (http://www.citrix.com) и New Moon Canaveral iQ (http://www.newmoon.com).



Фильтрация приложений


Вы можете использовать единый GPO, который применяется ко всем серверам, но отфильтровать приложения, которые будут установлены на каждый сервер, используя фильтры безопасности на пакетах в GPO. Следующий рисунок показывает GPO, содержащий три пакета - Adobe Acrobat Reader 6, Office XP и Microsoft Group Policy Management Console.

Допустим, что вы хотите инсталлировать Acrobat Reader и Office XP на всех терминальных серверах, к которым применяется GPO, а консоль - только на тех серверах, которые используются администраторами. По умолчанию пакеты наследуют настройки безопасности из GPO, поэтому все компьютеры, которые имеют право чтения на этот GPO будут также иметь право чтения пакета, и как следствие, установят приложение при загрузке.

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

Чтобы этот фильтр безопасности мог работать, вы должны создать группу Domain Security - например, Admin Terminal Servers, - и поместить в нее те серверы, на которых хотите установить консоль.

Для изменения разрешений к пакету, вы должны отключить наследование разрешений GPO. Для этого щелкните Advanced и уберите флажок Allow inheritable permissions. Вы можете затем выбрать копирование существующих разрешений и использовать их в качестве отправной точки для модификаций.



Флаги совместимости Terminal Services


При установке приложения, Terminal Services создает в реестре ключ для флагов совместимости, которые сообщают терминальному серверу тип приложения (MS-DOS, 16-bit, 32-bit). Если вы инсталлируете старое приложение, которое не будет работать на терминальном сервере, вы можете изменить этот флаг так, чтобы терминальный сервер сделал определенные настройки при запуске этого приложения.

Эти флаги затрагивают выделение памяти, отображение реестра и файлов INI. Их также можно использовать, чтобы Terminal Services возвращал значение %USERNAME%, если приложение запрашивает %COMPUTERNAME%. Эта особенность полезна, если приложение использует имя машины в качестве уникального идентификатора.

Если ваша программа не хочет работать под Terminal Services, прочтите статью Microsoft “Terminal Server Registry Settings for Applications”



Введение в Windows Server 2003 Terminal Services


В этой книге описываются новые возможности и улучшения WS2K3 Terminal Services. Здесь также будет обсуждаться наилучшая практика настройки и управления терминальными службами с точки зрения новых технологий, доступных системным администраторам в WS2K3. С помощью Remote Desktop Protocol (RDP) 5.2, интерфейса ADSI для доступа к атрибутам объекта пользователя, относящихся к терминальным службам, новых элементов управления групповыми политиками, каталога сеансов, мы можем использовать Terminal Services для решения сложных задач предоставления пользователям рабочих столов на базе терминальных служб.



Каталог сеансов и распределение нагрузки


Если у вас есть больше пользователей, чем может поддерживать один терминальный сервер, или если вы хотите иметь возможность отключить сервер для профилактики, но продолжать предоставлять доступ к приложениям, то вы можете использовать распределение нагрузки, которая встроена в архитектуру Terminal Services. В этой главе мы рассмотрим службу Microsoft Network Load Balancing (NLB), а также новую особенность WS2K3 - каталог сеансов (Session Directory), который позволяет следить за сеансами пользователей на нескольких серверах.

Я начну с введения в основы конфигурации аппаратного обеспечения терминального сревера, а затем рассмотрю процесс масштабирования. Это фундаментальная информация поможет вам определить, сколько серверов вам необходимо для поддержки пользователей.



Администрирование терминального сервера


Как и при любом внедрении технологии, процесс инсталляции и конфигурирования терминального сервера - это всего лишь половина работы. Вы должны также спланировать администрирование и сопровождение, а также поддержание цикла жизни программного обеспечения. В этой главе я сфокусируюсь на администрировании терминальных служб, включая конфигурацию учетных записей пользователей. Кроме того, я объясню настроку групповых политик с точки зрения Active Directory.



Установка приложений и совместимость


Мы рассмотрели, как разрешить роль Terminal Services, создавать и управлять фермой Session Directory, как интегрировать терминальные серверы в среду AD. Все эти факторы жизненно важны для успешной инфраструктуры Terminal Services, но именно пользовательские приложения определяют успех или неуспех развертывания вашего терминального сервера.

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

В этой главе описывается установка, развертывание и управление приложениями в среде Terminal Services. Вы узнаете, как настроить приложения для параллельной работы пользователей, писать скрипты совместимости и использовать флаги реестра для управления старыми приложениями.



Безопасность и защита от вирусов


Blaster, Love Bug, Nimda, Melissa - это компьютерные вирусы, распространенные в наши дни, поэтому инфраструктура Windows должна их учитывать. Анитивирусное ПО, брэндмауэры и управление заплатами должно быть частью крохотных вычислительных сред. Если пользователи на терминальном сервере пользуются почтой или выходят в интернет, вы должны быть бдительными и содержать сервер в безопасности. К счастью, ограничительные разрешения на терминальном сервере затрудняют занесение вирусов в систему, тем не менее вы должны быть готовы ко всему.

В этой главе мы рассмотрим доступные варианты содержания сервера в безопасности с использованием технологий Microsoft Automatic Updates и Software Update Services, а также практику применения этих вариантов.



В WS2K3 включен новый инструмент


В WS2K3 включен новый инструмент для управления групповыми политиками — Консоль управления политиками (Group Policy Management Console, GPMC). Используя GPMC, вы можете создавать и редактировать GPOs; связывать GPO с OU, сайтами и доменами; настраивать безопасность; делегировать администрирование; делать резервные копии и восстанавливать GPO; создавать отчеты в формате HTML; и даже запускать сценарии Resultant Set of Policy для помощи в проектировании ваших GPO.



По умолчанию GPMC не инсталлируется. Вы можете загрузить ее отсюда: http://www.microsoft.com/windowsserver2003/gpmc/default.mspx.


Групповые политики


WS2K3 включает новый уровень гибкости при конфигурировании пользовательских сеансов - групповые политики. Как вы уже знаете, вы можете конфигурировать тайм-ауты сеансов, настройки ресурсов клиента, опции восстановления соединения для индивидуальных пользователей или отдельных серверов. С помощью групповых политик WS2K3 вы также можете управлять всеми этими опциями с помощью GPO.

Для повышения гибкости эти настройки можно конфигурировать для пользователей и для компьютеров. Поэтому вы можете устанавливать все опции для всех серверов с центрального места. Вы даже можете применять GPO к отдельным группам безопасности, чтобы администраторы имели доступ к другим опциям, чем обычные пользователи; вам не нужно делать настройку индивидуальных пользователей.

Если вам необходимо установить опции в нескольких местах, или вы мигрируете из существующей терминальной инфраструктуры Win2K и уже сконфигурировали ваших пользователей и серверы, вы должны знать приоритет этих опций:

Настройки Computer Configuration Group Policy

Настройки User Configuration Group Policy

Настройки утилиты Terminal Services Configuration

Настройки пользовательской учетной записи

Будут побеждать настройки с более высоким приортитетом, поэтому настройки в Computer Configuration будут переопределять настройки User Configuration и т.п.



Групповые политики для сервера лицензирования


WS2K3 включает несколько политик для управления лицензированием. С их помощью можно легко централизованно настроить серверы лицензирования и поддерживать ихз целостность.

License Server Security Group - По умолчанию, сервер лицензирования выдает маркеры клиентам, подключающимся к любым терминальным серверам. Если вы включите эту настройку, то сервер лицензирования будет отвечать на запросы только тех терминальных серверов, которые находятся в локальной группе Terminal Services Computers. Если сервер лицензирования является контроллером домена, это локальная доменная группа. Включение этой настройки предотвращает нежелательным терминальным серверам запрашивать лицензии и заставляет использовать отдельный пул лицензий для групп серверов. Если у вас есть несколько серверов лицензирования для некоторой группы терминальных серверов, добавьте серверы лицензирования в эту группу.

Prevent License Upgrade

- Как вы знаете, сервер лицензирования WS2K3 может раздавать терминальные лицензии как Win2K, так и WS2K3. Если терминальный сервер Win2K запрашивает маркер, а сервер лицензирования не имеет доступных Win2K TS CAL, он будет автоматически выдавать макркер лицензии WS2K3 Per-Device (если они доступны). Это поведение можно запретить политикой. Если настройка разрешена, то сервер лицензирования будет выдвать только времененные маркеры клиентам, подключающимся к терминальным сервам Win2K. Если срок действия лицензии истек, в подключении отказывается.

Группа Terminal Services Computers по умолчанию пустая; добавьте в нее серверы перед тем, как включить политику, чтобы предотвратить отказы в соединении.



Инсталляция приложений


Теперь, когда вы поняли процесс создания среды на терминальном сервере, мы можем приступить к рассмотрению процесса инсталляции программ на терминальном сервере. В идеальном случае, все приложения должны следовать спецификациям "Designed for Microsoft Windows XP".

Эта спецификация требует от программистов использовать преимущества некоторых компонентов Windows, которые делают приложение совместимым с WS2K3 и Terminal Services. В следующем списке содержатся некоторые из них, которые представляют интерес для администраторов Terminal Services:

Не читать и не писать в файлы Win.ini, System.ini, Autoexec.bat или Config.sys на любой ОС Windows, основанной на технологии NT - Программы, которые не подчинаются этому правилу могут хранить пользовательские настройки в этих файлах.

Инсталлироваться используя пакеты Windows Installer и

Принять меры, чтобы приложение поддерживало анонсирование. - Служба Windows Installer использует процесс, называемым анонсированием (advertising), чтобы ключи реестра и файлы устанавливались для всех пользователей данного компьютера, а не только для того, кто запустил инсталляцию.

Хранить пользовательские данные в My Documents - Пользовательские файлы (документы, макросы, шаблоны и пр.) должны храниться в каталогах пользователя, а не в каталоге программы.

В реальном мире системным адмнистраторам приходиться иметь дело с множеством приложений - как современных, так и устаревших, которые не следуют этим правилам или которые написаны до того, как эти правила были установлены. Для облегчения интеграции таких приложений Terminal Services использует отображение реестра, отображение файлов INI и скрипты совместимости приложений.



Инсталляция приложений с помощью групповых политик


Если вы управляете большой фермой терминальных серверов или нуждаетесь в быстром расширении фермы, вы можете использовать технологию автоматизированной установки программного обеспечения. В среде AD вы можете использовать групповые политики для назначения приложений вашим серверам. При загрузке сервера обрабатываются машинные политики и инсталлируются все назначенные приложения.

Чтобы использовать групповые политики, приложения должны быть в формате MSI. Групповые политики также поддерживают скрипты в формате ZAP, которые могут запускать инсталляторы, отличные от MSI. Однако, использование этого формата на терминальных серверах не рекомендуется, поскольку такие приложения не поддерживают advertising, и ваши пользователи не получат необходимые ключи реестра HKEY_CURRENT_USER.

Вы можете переупаковать приложение в MSI используя сторонние утилиты, например, Wise for Windows Installer. Обязательно проверьте приложение на терминальном сервере до и после перепаковки, чтобы выяснить, нужны ли какие-то модификации для обеспечения совместимости с Terminal Services.

Основные шаги, требуемые для инсталляции программ с помощью групповых политик, таковы:

Создайте папку общего доступа для хранения ваших пакетов MSI.

Создайте административные инсталляции ваших пакетов MSI и поместите их в эту общую папку.

Добавьте пакеты в GPO, котрые применяются к компьютерам терминальных серверов в AD.

Модифицируйте права доступа к пакетам в GPO, если вы хотите, чтобы пакеты инсталлировались на отдельных серверах.

Перезагрузите терминальные серверы.



Инсталляция с использованием скриптов совместимости


Некоторые приложения требуют модификации после инсталляции или внесения изменений "на лету" во время входа пользователя. Эти изменения осуществляются скриптами совместимости. В качестве примера мы рассмотрим установку Netscape Communicator 4.5.

Как и для других приложений, мы начнем с мастера Add New Programs. Сделайте инсталляцию Netscape как обычно, затем щелкните Finish для закрытия мастера. Теперь надо установить скрипт совместимости. Перед этим давайте разберемся, почему он необходим для Navigator 4.5:

Профили пользователей - по умолчанию, Navigator 4.x хранит профили пользователей (избранное, настройки, историю) в каталоге программы. Пользователи на сервере терминалов не имеют доступа к каталогу Program Files, поэтому нам надо указать Netscape хранить профили пользователей в их домашних каталогах, а не на терминальном сервере, и автоматизировать настройку профиля при каждом входе пользователя.

Менеджер профилей - Navigator включает менеджер профилей, который позволяет пользователям изменять и удалять чужие профили на терминальном сервере. Нам нужно ограничить доступ к этой утилите.

Панель быстрого запуска - Пользователи хотят иметь иконку Netscape в панели быстрого запуска. Скрипт совместимости может ее создать для них во время входа.

Для запуска скрипта откройте каталог C:\WINNT\Appliation Compatibility Scripts\Install и запустите NETCOM40.CMD. Скрипт выполняет следующие действия:

Проверяет, установили ли вы ROOTDRIVE и предлагает это сделать, если эта переменная пустая

Копирует иконку Quick Launch из вашего профиля в каталог программы Netscape в качестве шаблона для будущих пользователей.

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

Применяет ограничительные разрешения для утилиты управления профилями для предотвращения запуска ее не-администраторами

Меняет скрипт входа для Netscape, чтобы он отражал ROOTDRIVE

Добавляет вызов дополнительного скрипта в USRLOGN2.CMD, чтобы скрипт совместимости выполнялся для всех пользователей.

При входе пользователя запускается COM40USR.CMD (скрипт входа для Netscape), и выполняет слудющие действия:

Копирует шаблон User Profile в пользовательский ROOTDRIVE, если его еще нет

Модифицирует раздел Netscape в ключе реестра HKEY_CURRENT_USER, указывая на новый профиль на ROOTDRIVE.

Создает иконку в панели быстрого запуска, если ее еще там нет.

Теперь Netscape готов для работы на терминальном сервере.



Инсталляция Terminal Server Licensing


Если у вас несколько серверов, то Terminal Server Licensing следует установить на сервере, отличном от терминального. Если вы используете домены, то должны установить службу лицензирования на контроллере домена.

Для установки Terminal Server Licensing, откройте в панели управления апплет Add/Remove Programs, выберите Add/Remove Windows Components. В мастере установки компонентов выберите Terminal Server Licensing .

Если вы устанавливаете Terminal Server Licensing на сервер в AD, вы можете выбрать один из вариантов установки: Domain/Workgroup и Enterprise. Эти режимы определяют, как служба лицензирования будет оповещать о себе для терминальных серверов. Если вы находитесь в рабочей группе или домене, отличном от AD, опция Enterprise

будет недоступна.

Я объясню процесс обнаружения в следующем разделе, а пока вы должны понять, что сервер лицензирования Enterprise

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

После установки Terminal Server Licensing, сервер лицензирования необходимо активировать, обратившись в Microsoft Clearinghouse. Запустите утилиту администрирования Terminal Server Licensing из меню Start, щелкните правкой кнопкой мыши на сервере и выберите Activate Server. Появится мастер активации сервера лицензирования:

Automatic connection - Это самый простой метод активации. Он требует, чтобы сервер Terminal Server Licensing имел подключение к интернет через порт 443 (SSL). Заполните информацию о компании и щелкните Activate.

Web Browser - Если сервер Terminal Server Licensing не подключен к интернет, вы все равно можете активировать сервер через веб с другого компьютера. Для этого откройте в веб-броузере сайт https://activate.microsoft.com, заполните информацию о компании, а также укажите уникальный идентификатор Terminal Server Licensing ID, который формирует мастер активации. Веб-сервер даст код активации, который вы должны ввести в службу лицензирования.


Telephone - Если у вас вообще нет интернета, то позвоните в Microsoft Clearinghouse по телефону. Выберите вашу страну в мастере активации, и вы получите номер телефона. Сообщите службе поддержки имя компании, контакную информацию, идентификатор сервера, и вам сообщат код активации. Активируйте сервер во время разговора по телефону или очень внимательно запишите код на бумаге.

После активации сервера лицензирования он немедленно начинает выдавать временные лицензии для серверов Win2K и WS2K3, которые дают администратору 90-дневный период, в течении которого необходимо установить постоянные CAL на сервер лицензирования.

Если вы обновляете сервер Win2K с установленной службой Terminal Server Licensing до WS2K3, вам необходимо повторно активировать службу лицензирования. Для этого выберите Re-Activate Server в Advanced в меню Actions в утилите администрирования Terminal Server Licensing

Для добавления пакета лицензий, щелкните правой кнопкой в утилите администрирования Terminal Server Licensing и выберите Install Licenses. Вам будет представлен тот же выбор, как при активации сервера. Если вы устанавливаете розничные лицензии, этот тип лицензий будет выбран автоматически. Однако, если вы устанавливаете лицензии через Select, Open или другие соглашения Microsoft, то вам следует выбрать тип добавляемой лицензии:




Использование файла ZAP


Если вам одновременно нужно установить только одну заплату, хорошим выбором будет использование файла ZAP. Файлы ZAP используются для установки программ, оличных от пакетов MSI, с помощью групповых политик. Файлы ZAP - это обычные текстовые файлы, содержащие информацию, необходимую для инсталляции приложения. Пример такого файла:

[Application]; Only FriendlyName and SetupCommand are required,; everything else is optional.

; FriendlyName is the name of the program that

; will appear in the software installation snap-in

; and the Add/Remove Programs tool.

; REQUIRED

FriendlyName = "Hotfix Q911001"; SetupCommand is the command line used to

; Run the program's Setup. If it is a relative

; path, it is assumed to be relative to the

; location of the .zap file.

; Long file name paths need to be quoted. For example:

; SetupCommand = "long folder\setup.exe" /unattend; or; SetupCommand = "\\server\share\long _

; folder\setup.exe" /unattend

; REQUIREDSetupCommand = “Q######_WS2K3_SP1_x86_en.exe” /M; Version of the program that will appear

; in the software installation snap-in and the

; Add/Remove Programs tool.

; OPTIONALDisplayVersion = 1.0; Version of the program that will appear

; in the software installation snap-in and the

; Add/Remove Programs tool.

; OPTIONAL Publisher = Microsoft

Основной недостаток при использовании файлов ZAP для установки заплат состоит в том, что после установки требуется перезагрузка сервера. Поэтому этот метод не подходит для установки нескольких заплат.

Аргументы командной строки для всех инсталляторов заплат от Microsoft следующие:

/F Принудительное закрытие всех открытых приложений при перезагрузке компьютера заплатой

/N   Не делать резервные копии для последующего удаления заплаты

/Z   Не перезагружать компьютер по завершении инсталляции

/Q   Тихий режим - вмешательства пользователя не требуется

/M  Использовать режим автоматической инсталляции

/L   Выдать список установленных заплат



Использование групповых политик для развертывания пакетов обновлений


Выяснив, что сервис-пак вам подходит, вам необходимо установить его на терминальных серверах. Начиная с Win2K, Microsoft стала выпускать сервис-паки в виде пакетов MSI, чтобы вы могли назначать их с помощью групповых политик. Это экономит время по сравнению с ручной установкой на каждом сервере.

Файл UPDATE.MSI должен использоваться только для развертывания сервис-паков с помощью групповых политик. Никогда не устанавливайте сервис-пак вручную, используя файл MSI — вместо этого используйте файл UPDATE.EXE.

Вы назначаете сервис-пак компьютеру таким же способом, как любой другой компонент программного обеспечения компьютера. Начните с распаковки файлов сервис-пака в сетевую папку, доступную для всех терминальных серверов. Для распаковки запустите исполняемый файл с ключом -X (например, WS2K3SP1.EXE –X). Затем укажите папку, в которую будут распакованы файлы.

Затем, используя Group Policy Management Console измените GPO и назначьте сервис-пак компьютерам. Раскройте Computer Configuration, Software Settings, Software installation. Щелкните правой кнопкой на этом узле, выберите New, Package. Вам предложат указать пакет MSI. Введите путь UNC к файлу UPDATE.MSI в папке, в которой вы распаковали файлы, и щелкните Open.

Вам будет предложено назначить пакет с опциями по умолчанию или открыть окно расширенных настроек. Вы можете выбрать Assigned и щелкнуть OK — для сервис-паков расширеных настроек нет.

При следующей перезагрузке сервера, получившего GPO, сервис-пак будет установлен.

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

Вам не следует деинсталлировать предыдущие сервис-паки перед установкой нового. Просто удалите назначение.

Для удаления назначения предыдущих сервис-паков, используйте Group Policy Management Console для редактирования GPO, испльзованной для назначения. Щелкните правой кнопкой на пакете и выберите All Tasks, Remove. В появившемся диалоге выберите вторую опцию, предотвращение новых инсталляций.

После того, как вы удалили назначение старого сервис-пака, вы можете создать назначение нового. При следующей перезагрузке серверы получат последний сервис-пак.



Использование скрипта остановки


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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\WS2K3\<SPx>\<HotfixName>

<SPx> - сервис-пак, содержащий заплату, а <HotfixName>

- это статья Microsoft Knowledge Base, в которой описана заплата

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Hotfix\<HotfixName>

<HotfixName> - это статья Microsoft Knowledge Base, в которой описана заплата

Пример скрипта на Visual Basic:

On Error Resume Next

Set WshShell = WScript.CreateObject("WScript.Shell")

WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Updates\WS2K3\SP1\Q819639\Description")

If Err then

      Hotfix1="Q819639_WS2K3_SP1_x86_en.exe /Z /M"

      WshShell.Exec(Hotfix1)

End If

WshShell.RegRead("HKLM\SOFTWARE\Microsoft\Updates\WS2K3\SP1\KB818529\Description")

If Err then

      Hotfix2="KB818529_WS2K3_SP1_x86_en.exe /Z /M"

      WshShell.Exec(Hotfix2)

End If

Чтобы указать этот скрипт как скрипт останова, используйте Group Policy Management Console для редактирования GPO, применяемого к терминальным серверам. Раскройте Computer Configuration, Windows Settings, Scripts (Startup/Shutdown), в правой панели дважды щелкните Shutdown. Откроется окно совйств скрипта:

Щелкните Show Files и скопируйте ваш файл скрипта и все инсталляционные файлы заплаты в эту папку. Затем используйте кнопку Add для настройки скрипта на запуск при остановке системы (shutdown). При каждом выключении или перезагрузке сервером скрипт проинсталлирует необходимые заплаты, отсутствующие в системе.

Хотя заплаты содержат встроенную логику, которая предотвращает их установку на систему с более новым сервис-паком, запретите или измените ваш скрипт после установки нового сервис-пака для уменьшения нагрузки - не нужно тратить время на попытки установки ненужных заплат.



Использование SUS


В больших или критических средах вы можете захотеть выбирать, какие обновления необходимы вы вашей среде, или иметь возможность проверить обновления на тестовом сервере до установки его на рабочий сервер. Для этого Microsoft предлагает SUS.

SUS устанавливается на Win2K IIS или WS2K3 Application Server и заменяет собой сайт Microsoft Automatic Updates. Затем вы используете GPO, чтобы перенаправить клиента Automatic Updates на внутренний сервер SUS. Клиент тогда загружает обновления с сервера SUS, а не с сайта Microsoft.

Для установки SUS загрузите инсталлятор с сайта Microsoft (http://www.microsoft.com/windows2000/windowsupdate/sus/default.asp). Инсталляция по умолчанию размещает исходные файлы в каталоге C:\sus\content и требует от вас вручную санкционировать новые версии ранее санкционированных обновлений до того, как клиенты смогут их загрузить и инсталлировать. Вы можете изменить эти опции либо после инсталляции, либо выбрав заказную инсталляцию в мастере Windows Installer:

Если на сервере приложений мало свободного места на диске и терминальный сервер имеет выход в Интернет, вы можете оставить опцию хранить исходные файлы обновлений на сервере Microsoft. Вы оставляете за собой возможность выборочно потверждать и проверять обновления, но не будете иметь локальные копии исходных файлов.

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

После установки SUS, вы можете настроить и управлять службой посредством веб-интерфейса http://localhost/susadmin

или удаленно через http://<servername>/susadmin. В нем вы можете настроить прокси-сервер (если он нужен для доступа к серверу Microsoft), указать имя, которое клиенты будут использовать для доступа к SUS, выбрать синхронизацию обновлений с сервером Microsoft или с другим сервером SUS (полезно, если у вас есть несколько серверов SUS), а также изменить две опции, установленные во время установки.


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



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

После синхронизации вашего сервера SUS, используйте административный интерфейс для санкционирования новых обновлений.



SUS содержит описание каждого обновления, ссылку на подробности инсталляции, список операционных систем, к которым применяется данное обновление. На экране подробностей имеется гиперссылка на бюллетень Microsoft, в котором содержится дополнительная информация.

Если вы планируете проверить обновления до применения их в рабочей среде, вы можете вручную загрузить их с сайта Windows Update или создать два сервера SUS — один для тестов, а второй для рабочей среды. Санкционируйте обновления сначала на тестовом сервере, а затем, после проверки, санкционируйте их на рабочем сервере.

Чтобы настроить терминальные серверы для вытягивания обновлений с сервера SUS, настройте GPO тем же способом, как для Microsoft Automatic Updates, но используйте Specify Intranet Microsoft update service location и укажите там URL вашего сервера SUS.

SUS позволяет вам управлять, какие обновления будут установлены на терминальных серверах. Хотя этот метод дает возможность проверить обновления перед установкой, он также требует ручного санкционирования. Вы должны бдительно следить за появлением бюллетеней безопасности Microsoft или часто проверять свой сервер SUS - не появились ли там новые обновления.

На момент написания этой статьи, клиент Automatic Updates имел один существенный недостаток. Если обновление или пакет обновлений загружены и готовы к инсталляции, клиент не сможет загрузить новые обновления до тех пор, пока не будут инсталлирован первый набор. Поэтому вам следует либо настроить ежедневный график инсталляции, либо еженедельно санкционировать обновления на сервере SUS. Тогда клиент при запросе SUS загружает и инсталлирует все ожидающие обновления.


Изменения, вносимые Internet Explorer Enhanced Security Configuration


Internet Explorer Enhanced Security Configuration меняет настройки зоны для IE, повышая безопасность:

Зона

Уровень по умолчанию

Уровень, устанавливаемый Internet Explorer Enhanced Security Configuration

Internet Zone

Medium

High

Local Intranet Zone

Medium Low

Medium Low

Trusted Sites Zone

Low

Medium

Restricted Sites Zone

High

High

Помимо изменения уровня безопасности зон, Internet Explorer Enhanced Security Configuration меняет зону для всех веб-сайтов интранет. По умолчнию все сайты интранет (определяемые вашим суффиксом DNS), находятся в локальной зоне интранет (Local Intranet Zone). При включенном Internet Explorer Enhanced Security Configuration, сайты интранет помещаются в зону Интернет (Internet Zone) и обрабатываются с уровнем безопасности High, если вы вручную не добавили их в зону Local Intranet Zone. Единственные сайты в локальной зоне Local Intranet Zone при использовании Internet Explorer Enhanced Security Configuration - это локальные сайты (http://localhost, https://localhost, hcp://system). Локальные сайты должны находиться в локальной зоне интранет для правильной работы различных утилит. Internet Explorer Enhanced Security Configuration также меняет расширенные свойства:

Свойство

Параметр

Новое

значение

Результат

Browsing

Вывод диалога конфигурации расширенной безопасности

On

Выводит окно с предупреждением, что сайт интернет пытается использовать скрипт или ActiveX.

Browsing

Enable Browser Extensions

Off

Запрет всех особенностей, которые вы инсталлировали для использования с IE и которые созданы компаниями, отличными от Microsoft.

Browsing

Enable Install On Demand (Internet Explorer)

Off

Запрет установки компонентов IE, если это запрашивается веб-страницей.

Browsing

Enable Install On Demand (Other)

Off

Запрет установки компонентов, если это запрашивается веб-страницей.

Microsoft VM

JIT compiler for virtual machine enabled (requires restart)

Off

Запрет компилятора Microsoft VM.

Multimedia

Don't display online content in the media bar

On

Запрет воспроизведения содержимого в полосе IE.

Multimedia

Play sounds in Web pages

Off

Запрет музыки и прочих звуков

Multimedia

Play animations in Web pages

Off

Запрет анимации

Multimedia

Play videos in Web pages

Off

Запрет видеоклипов

Security

Check for server certificate revocation (requires restart)

On

Автоматически проверяет - не аннулирован ли сертификат веб-сайта перед тем, как принять сертификат.

Security

Check for signatures on downloaded programs

On

Автоматически проверяет и отображает идентичность загружаемых программ.

Security

Do not save encrypted pages to disk

On

Запрет сохранения ащищенной информации в папке Temporary Internet Files.

Security

Empty Temporary Internet Files folder when browser is closed

On

Автоматическая очистка папки Temporary Internet Files при закрытии браузера.

Браузинг может быть чрезмерно ограничен, если вы примените Internet Explorer Enhanced Security Configuration. Если вы используете инструменты на основе Web, или Web-станицы с активным содержимым для системного администрирования, вам следует добавить эти сайты либо в зону Local Intranet Zone, либо в зону Trusted Sites Zone. Для облегчения изменения зон, Microsoft добавила в IE в меню File элемент Add this site to…

(если разрешен Internet Explorer Enhanced Security Configuration). Тогда если вам попадется веб-страница с активным содержимым, то появится окно с предупреждением и кнопкой, позволяющей добавить сайт в список доверенных сайтов.



Как работает каталог сеансов


Здесь приведен пример работы каталога сеансов. Утром пользователь Joe User использует клиента Remote Desktop Connection для подключения к TSCluster.Domain.Com. Служба NLB направляет это соединение на сервер TServer02, наименее загруженный сервер в это время. Джо регистрируется на TServer02, и поскольку он еще не имеет существующего сеанса на TServer02, сервер запрашивает службу Session Directory на предмет существующих сеансов, принадлежащих Joe User на любом сервере в кластере. Joe не имеет никаких других сеансов, поэтому TServer02 принимает соединение и Джо начинает работу.

В 3:00, Джо решает поехать домой и продолжить работу оттуда. Он уже напечатал половину документа и открыл три окна веб-браузера со справочным материалом, поэтому от отключился, но не завершил сеанс, чтобы продолжить работу с того места, где он ее оставил. Когда Джо отключается от сеанса, TServer02 информирует сервер каталога сеансов о разъединенном сеансе. Сервер каталога сеансов создает запись в своей базе данных, включая имя пользователя и домен для Джо, имя сервера, время создания и отключения сеанса, а также разрешение и глубину цвета сеанса.

Придя домой, Joe устанавливает соединение VPN с корпоративной сетью. Он запускает на своем домашнем компьютере клиента Remote Desktop Connection и указывает имя TSCluster.Domain.Com. Служба NLB направляет соединение на уникальный адрес IP сервера с наименьшим числом соединений - на этот раз это TServer01. Джо вводит свое имя и пароль для TServer01.

TServer01 сначала проверяет свои разъединенные сеансы Джо. Если таковых не найдено, он запрашивает базу данных каталога сеансов. База данных находит сеанс Джо на сервере TServer02 и сообщает клиенту Remote Desktop Connection адрес IP сервера TServer02, а также шифрованные имя и пароль Джо. Клиент Remote Desktop Connection автоматически подключается к TServer02 и посылает учетные данные. TServer02 находит существующий сеанс Джо и подключает к нему Джо, который начинает продолжать работу над своим документом.

Поддержи сайт!



Каталог сеансов


При использовании в качестве терминального сервера WS2K3 Enterprise Edition в среде с балансировкой нагрузки, вы можете использовать новую службу Session Directory для предоставления единой точки входа в ферму терминальных серверов. Session Directory выступает не только в роли распределителя нагурзки, но также поддерживает базу данных активных сеансов в ферме. Это позволяет пользователю возобновить разъединенный сеанс на том же сервере, от которого он отключился.



Каталог Сеансов (Session Directory)


Один из вопросов, возникающих при распределении нагрузки, состоит в том, что делать с разъединенными сеансами. Как мы обсуждали в главе 2, администраторы могут настроить на терминальных серверах тайм-ауты для холостых и разъединенных сеансов. Вы можете либо указать эти тайм-ауты очень низкими, давая возможность пользователю повторно соединиться с того же клиентского устройства и адресом IP в случае сбоя в сети, или вы можете установить большой тамй-аут, чтобы пользователи могли отключиться от сеанса, оставив приложение работать, а затем воссоединиться с ним позже.

Эти настройки хорошо работают в среде с одним сервером. При повторном подключении пользователя, Session Manager подключает его к существующему сеансу. Однако, в случае кластера с распределением нагрузки, Session Manager ничего не знает о сеансах на других серверах. Поэтому Microsoft ввела понятие Каталога Сеансов (Session Directory).

Каталог Сеансов поддерживает динамическую базу данных, которая хранит соответствия имен пользователей и открытых сеансов на всех терминальных серверах кластера. Это позволяет пользователям подключаться к своим сеансам на любом сервере в кластере, независимо от того, на какой сервер его изначально направила служба NLB.



Клиент Remote Desktop Connection


Remote Desktop Connection - это новый клиент для RDP 5.2. Remote Desktop Connection поддерживает все новые возможности RDP 5.2. Он устраняет необходимость в Connection Manager и больше не хранит данные о соединениях в реестре. Вместо этого, Remote Desktop Connection поддерживает файлы RDP - текстовые файлы, содержащие информацию о параметрах соединений к терминальному серверу или к Windows XP Remote Desktop. С помощью файлов RDP можно легко распространять или централизованно хранить общую информацию о соединениях для ваших пользователей.

С помощью интерфейса Remote Desktop Connection вы можете управлять опциями соединения (см. рисунок ниже). Новая опция Experience позволяет включить или отключить интерфейс Aqua в Windows XP и WS2K3 - обои, темы и анимацию меню - чтобы повысить производительность на низкоскоростных соединениях.


Клиент Remote Desktop Connection входит в состав WindowsXP. Если вы хотите установить его на других ОС, то можете загрузить его с сайта http://www.microsoft.com/windowsserver2003/technologies/terminalservices/default.mspx. Этого клиента можно установить на следующие ОС: Windows 95, Windows 98, Windows 98 Second Edition, Windows Me, Windows NT 4.0, Windows 2000 и Macintosh. Вы также можете загрузить Terminal Services Client для PocketPC с http://www.microsoft.com/mobile/pocketpc/downloads/default.asp. На следующей иллюстрации показан интерфейс клиента Remote Desktop Connection:

В интерфейсе вы можете настроить следующие опции:

Имя или адрес IP терминального сервера

Имя и пароль, используемые для соединения

Размер экрана

Глубина цвета

Отображение звука, драйвов, принтера, портов

Поведение комбинаций клавиш Windows (интерпретация клиентом или сервером)

Начальная программа

Разрешение или запрещение визуальных эффектов

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

Если вы скопировали файл RDP, содержащий пароль для другого компьютера, пароль не будет вводиться при подключении. Это важно учитывать при распространении файлов RDP с предустановленными учетными данными.

Если администратор настроил любую из этих опций в Terminal Services Configuration и Group Policy Object Editor на сервере, то настройки сервера будут переопределять настройки клиента. Настройки групповой политики будут переопределять настройки как Terminal Services Configuration, так и клиента.

Вы можете запустить клиента Remote Desktop Connection с командной строки, используя синтакис:

MSTSC [<Connection File>][/v:<server[:port]>] [/console] [[/f[ullscreen]|[/w:<width> /h:<height>]]|[/Edit”connection file”][/Migrate]

<Connection File> - имя файла RDP

/v:<server[:port]> - имя или адрес сервера

/console – подключение к консоли сервера Windows Server 2003

/f[ullscreen] – запуск клиента в полноэкранном режиме

/w:<width> /h:<height> - ширина и выоста окна соединения

/edit – открывает файл RDP для редактирования

/Migrate – мигрировать старые настройки Client Connection Manager из реестра в файлы RDP.



Клиент Remote Desktop Web Connection


Remote Desktop Web Connection инсталлируется на Internet Information Server (IIS) или на сервер WS2K3, на котором разрешена роль терминального сервера. Пакет Remote Dekstop Web Connection доступен на Microsoft для установки на Win2K IIS или может быть установлен на WS2K3 путем выбора Add/Remove Windows Components, Application Server (details), IIS (details), World Wide Web Service (details), Remote Desktop Web Connection. Старая инсталляция устанавливалась в C:\inetpub\wwwroot\tsweb, новая - в C:\windows\web\tsweb.

Как видно на следующем рисунке, единственные доступные опции - это имя сервера, размер окна и информация для входа (имя и пароль). Сценарий ActiveX на самом деле поддерживает полный диапазон настроек, доступных в локальном клиенте, просто вам необходим некоторый наывык в программировании, чтобы получить преимущества от них. Поищите на http://MSDN.Microsoft.com

по ключевым словам Desktop ActiveX Control Interfaces.

WS2K3 также включает новую версию старого клиента Terminal Services Connections от Win2K. Теперь он называется Remote Desktops и находится в меню Start, Administrative Tools. Вы можете установить его на WindowsXP, используя пакет adminpak.msi, находящийся на CD-ROM с WS2K3.



Компоненты лицензирования Terminal Server


Лицензирование Terminal Services включает в себя Microsoft Clearinghouse, один или несколько серверов WS2K3 Terminal Services Licensing и один или несколько терминальных серверов. Вы используете Microsoft Clearinghouse (через интернет, Web или по телефону) для активирования серверов лицензий и для получения пакетов лицензий, которые инсталлируются на серверах лицензирования.

Сервер Terminal Services Licensing может быть сервером WS2K3 любой редакции с инсталлированной службой Terminal Services Licensing. Terminal Services Licensing хранит все маркеры CAL и следит за маркерами, которые были выданы компьютерам или пользователям. Все терминальные серверы должны иметь возможность связаться с сервером Terminal Services Licensing для выдачи постоянных маркеров. Если сервер лицензирования не активирован, он будет выдавать только временные лицензии.

Терминальный сервер - это сервер WS2K3 любой редакции с инсталлированной ролью Terminal Server. При подключении клиента к терминальному серверу, сервер определяет, требуется ли выдать клиенту маркер лицензии. Если да, то он обращается к серверу лицензий и запрашивает у того маркер от лица клиента, а затем передает маркер клиенту. При первом подключении клиента, если используется модель лицензирования "на устройство" (per-device), клиент получает временный маркер. Временные лицензии хранятся на сервере Terminal Services Licensing в течении 90 дней. Только при втором подключении (в течении 90 дней) для устройства выдается постоянная лицензия.

Термин "постоянный" не совсем правильный, поскольку лицензия на устройство истекает через случайное число дней (от 52 до 89). Это сделано затем, что если устройство больше не используется для доступа к терминальному серверу (или переинсталлирована ОС), лицензия возвращается назад. Впервые это реализовано в Win2K Service Pack 3 (SP3).



Конфигурация аппаратного обеспечения терминального сервера


Вообще говоря, терминальные серверы больше похожи на рабочие станции, чем на серверы. Много ли вы встречали серверов, на которых инсталлирован Microsoft Office? Системные интеграторы должны учитывать это при конфигурировании аппаратных средств для терминального сервера.

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

Необходимо также учитывать прикладные программы - большинство приложений написано для рабочих станций, поэтому они подразумевают установку на диск C в каталог Program Files. Даже сегодня все еще есть популярные приложения, не понимающие при инсталляции других дисков, кроме C. Поэтому если на сервере диск D используется для данных, то разбиение диска на разделы будет пустой тратой времени.

Если вы хотите отделить приложения от операционной системы, переместив папку Program Files на диск D и измените в реестре значение HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir, чтобы он отражал новое место.



Конфигурация через групповые политики


В WS2K3 вы можете централизованно настраивать и управлять всеми параметрами Terminal Services посредс помощью групповых политик:



Конфигурация жесткого диска


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

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

RAID1, или зеркалирование, встречается наиболее часто. Его просто реализовать, он требует всего 2 диска, а также является отказоустойчивым . RAID1 удваивает скорость чтения, но не увеличивает скорость записи, поскольку данные пишутся на оба диска. Если один из дисков выходит из строя, сервер продолжает работу, используя второй диск. Это хороший выбор, если у вас ограниченное число дисков.

RAID5, чередование дисков с паритетом, также часто используется. Как и в RAID0, данные распределяются по дискам, но в RAID5 добавляются контрольные блоки. Эти контрольные блоки позволяют вычислить пропущенный блок в случае выхода одного из дисков из строя. Поэтому RAID5 является отказоустойчивым при выходе из строя одного диска. Поскольку данные разнесены по разным дискам, скорость чтения данных очень высокая, но скорость записи небольшая, поскольку помимо записи самих данных надо вычислить и записать контрольный блок. Для RAID5 необходимо минимум 3 диска; это хороший выбор для терминальных серверов.

Если в используете RAID 5 и потеряли диск, сервер будет продолжать работу, но скорость чтения сильно замедлится, поскольку контроллер вынужден вычислять пропущенный блок для каждого сегмента данных.

RAID 10 (иногда называемый RAID 1+0) комбинирует скорость RAID0 и отказоустойчивость RAID1. В нем каждым элементом массива RAID0 является зеркало из двух дисков. RAID 10 обеспечивает самый быстрый доступ к данным из всех RAID, одновременно поддерживая отказоустойчивость. Вы даже можете потерять несколько дисков, и сервер все равно будет продолжать функционировать (если эти диски не формируют одно зеркало). Недостатком RAID 10 является то, что вы теряете половину дискового пространства под отказоустойчивость; однако, поскольку для терминального сервера не требуется большого дискового пространства, этот потенциальный недостаток можно не принимать во внимание. RAID 10 является лучшим выбором для терминальных среверов, имеющих минимум 4 диска.

На первый взгляд, RAID 0+1 выглядит аналогичным RAID 10. Разница состоит в том, как контроллер обрабатывает массив. Вместо того, чтобы считать его массивом RAID0 зеркальных дисков, RAID 0+1 считает зеркалом весь массив. Поэтому, в отличие от RAID 10, RAID 0+1 может потерять только один диск и продолжать функционировать. Это прекрасный выбор для терминального сервера, поскольку позволяет значительно повысить скорость дисковых операций, одновременно обеспечивая отказоустойчивость.



License Server Administration


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

Утилита Terminal Sever Licensing является основной утилитой управления лицензиями. Она используется для активирования сервера лицензирования, установки лицензий и просмотра доступных маркеров лицензий. С ее помощью вы можете видеть, какие пользователи и устройства получили маркеры лицензий и когда истекает срок их действия.

WS2K3 Resource Kit содержит утилиту командной строки LSREPORT.EXE. С ее помощью вы можете получить список маркеров, назначенных сервером лицензирования.

Есть еще одна утилита, Client License Test Tool, TSCTST.EXE. Она используется для запроса подробной информации относительно маркеров устройств, инсталлированных на указанном устройстве. В выводе утилиты содержится имя сервера лицензирования, выдавшего маркер, диапазон, пользователь, который аутентифицировался при выдаче маркера, идентификатор лицензии, срок действия. Если указать опцию /A, утилита также покажет версию сертификата сервера, версию лицензированного продукта, идентификатор аппаратуры, идентификатор платформы клиента, имя компании.

Утилита License Server Viewer - LSVIEW.EXE - также содержится в Resource Kit. Она осуществляет поиск серверов лицензирования и выводит все серверы лицензирования терминальных служб. Она также определяет тип сервера лицензирования - Domain or или Enterprise - и создает журнал с диагностической инфрмацией.



Лицензирование (Licensing)


Следующая настройка относится к режиму лицензирования. Она контролирует, какие типы лицензий термнальный сервер будет запрашивать у сервера лицензирования от имени клиентов. В большинстве случаев значение по умолчанию Per Device, это означает, что вы должны установить на сервере лицензирования лицензии "Per Device" для WS2K3 Terminal Server. Однако, если вы обновляете терминальный сервер Win2K, использующий Internet Connector Licensing, то вам нужно установить лицензирование Per User.

Выбор режима зависит от вашей среды. Если у вас есть пользователи, которые имеют несколько устройств, с которых они могут подключаться, то оптимальным будет выбор лицензирования Per User. Если же одним компьютером пользуются несколько разных пользователей, то лучше Per Device - например, если компьютер стоит в службе круглосуточной поддержки и используется тремя пользователями в три смены. Лицензирование Per Device означает, что вам понадобится только один маркер лицензии для всех троих пользователей. Если вы установите режим лицензирования Per User, то сервер также будет проверять и принимать соединения с устройств, уже получивших маркер Per Device.



Лицензирование терминальных служб


Чтобы терминальный сервер продолжал принимать соединения по истечении 120 дней, вы должны сконифгурировать Terminal Services Licensing. WS2K3 добавляет новые опции и новые уровни сложности к лицензированию Terminal Services. Для подключения к WS2K3 клиентам понядобятся новые маркеры лицензий WS2K3. Эти маркеры (tokens) выдаются только сервером WS2K3 Terminal Services License - серверы лицензий Win2K не могут выдавать новые маркеры WS2K3. Поэтому если в вашей среде уже есть сервер лицензий Win2K, вам нужно как можно быстрее обновить его до WS2K3 или активировать отдельный сервер лицензий WS2K3.



Logoff


Выход пользователя и удаление его сеанса. Без аргументов команда закроет сеанс текущего пользователя.

LOGOFF [sessionid | sessionname] [/server:servername] [/v]

где:

sessionid - идентификатор закрываемого сеанса

sessionname - имя закрываемого сеанса

/server:servername

- севрер, на котором надо завершить сеанс. По умолчанию сервер, к которому вы подключены.

/v - вывод подробной информации о выполняемых действиях



Механизмы совместимости приложений


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

Если приложение имеет логотип Designed for Microsoft Windows XP, оно обычно совместимо с Terminal Services. Программа сертификации Microsoft гарантирует, что приложение в процессе своей инсталляции и в хранении и обработки своих данных и настроек следует определенным правилам и совместимо с особенностями WS2K3. Подробнее о программе сертификации см. http://www.microsoft.com/winlogo/software/windowsxp-sw.mspx.



Microsoft Network Load Balancing (NLB)


NLB позволяет разместить группу серверов за виртуальным адресом IP (VIP). NLB распределяет соединения, делаемые к VIP, среди серверов кластера и поддерживает межсерверные коммуникации, чтобы в случае выхода одного из серверов из строя NLB прекратила направлять к нему клиентов.

В WS2K3 Microsoft улучшила балансировщик нагрузки. В Win2K, NLB был доступен только в редакции Advanced или Datacenter. WS2K3 включает NLB во все редакции. Microsoft сделала следующие улучшения:

NLB Manager - В Win2K вы должны вручную конфигурировать каждый сервер в кластере. WS2K3 включает новый инструмент администрирования, который позволяет централизованно создавать, конфигурировать и управлять кластерами NLB.

Виртуальные кластеры - При использовании NLB для кластеризации веб-серверов, вы можете создавать множественные кластеры на одном и том же наборе серверов, используя несколько адресов IP на каждом сервере . Каждому виртуальному кластеру присваивается свой VIP.

Подержка нескольких сетевых адаптеров - WS2K3 позволяет привязать NLB к каждому сетевому адаптеру сервера. Win2K позволяла привязать NLB только к одному адаптеру.

Поддержка широковещания - Кластеры WS2K3 можно настроить на использование multicast для межсерверных коммуникаций.

Но даже со всеми этими улучшениями NLB все еще имеет ограничения, которые вы должны учитывать. Во первых, все члены кластера NLB должны находиться в одной подсети. Во вторых, NLB считает только число активных соединений с сервером при определении того сервера, к которому следует направить соединение; он не учитывает потребление памяти или процессора. В третьих, при использовании совместно с Каталогом Сеансов, NLB требует, чтобы адреса IP терминальных серверов должны быть видимыми клиенту. И NLB ограничен 32 узлами в кластере.

В NLB Manager, Microsoft называет группу серверов, связанных распределением нагрузки, кластером. Не путайте этот термин с настоящим кластером, который позволяет серверам совместно использовать процессы и запоминающие устройства как единый сервер. Во многих документах о распределении нагрузки, включая статьи Microsoft, группы серверов с распределением нагрузки называются фермами. Тем не менее, в этой книге я буду использовать термин "кластер", чтобы не противоречить NLB Manager.



MSG


Посылает сообщение полюзователю или пользователям на терминальном сервере

MSG [username | sessionname

| sessionid | @filename | *] [/server:servername] [/time:seconds] [/v] [/w] message

где:

username - имя пользователя, которому надо отправить сообщение

sessionname - имя сеанса, которому надо отправить сообщение

sessionid - ID сеанса

@filename имя текстового файла, содержащего имена пользователей, сеансов или идентификаторов сеансов, которым надо послать сообщение.

* - отправка сообщения всем пользователям текущего или укаазнного сервера

/server:servername

- указывает сервер, к которому подключены получатели сообщения

/time:seconds

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

/v - вывод информации во время отправки сообщения

/w - окно с сообщением должно ждать, пока пользователь не щелкнет OK

message - текст самого сообщения



Настройка безопасности в Internet Explorer


В WS2K3 включен новый инструмент, называемый Internet Explorer Enhanced Security Configuration. После его установки, он меняет настройки безопасности в Internet Explorer, уменьшая подверженность потенциально вредному коду, который может быть найден в Web и прикладных скриптах.

Internet Explorer Enhanced Security Configuration по умолчанию устанавливается для всех групп пользователей WS2K3, если вы не добавили роль терминального сервера - конфигурация Internet Explorer Enhanced Security Configuration на терминальном сервере зависит от метода установки операционной системы:

Тип установки

Enhanced Security Configuration

Administrators

Power Users

Limited Users

Restricted Users

Обновление ОС

Yes

Yes

No

No

Тихая инсталляция ОС

Yes

Yes

No

No

Ручная инсталляция Terminal Services

Yes

Yes

Prompt

Prompt

При ручной установке роли Terminal Services, мастер Configure Your Server Wizard предлагает запретить Internet Explorer Enhanced Security Configuration для групп Limited Users и Restricted Users. Это улучшает браузинг в интернет для этих пользователей и защита полагается на разрешения файловой системы, а ОС предотвращает таким пользователям выполнять или инсталлировать вредный код.

Независимо от разрешения или запрещения Internet Explorer Enhanced Security Configuration, группам Limited Users и Restricted Users запрещается инсталлировать на терминальный сервер элементы ActiveX. Администратор должен вручную инсталлировать необходимые компоненты на сервере.

Чтобы вручную разрешить или запретить Internet Explorer Enhanced Security Configuration, используйте Add/Remove Programs в панели управления:

Если вы хотите разрешить Internet Explorer Enhanced Security Configuration для всех пользователей, отметьте соответствующую опцию. Чтобы указать группы, к которым будет применяться Internet Explorer Enhanced Security Configuration, щелкните Details. В появившемся окне вы можете применить расширенную безопасность к администраторам и прочим группам. На терминальном сервере лучше всего разрешить для администраторов и запретить для остальных групп.



Настройка каталога сеансов


Чтобы получить преимущества каталога сеансов, все терминальные серверы в кластере должны иметь редакцию Enterprise или Datacenter. Session Directory может использовать любую редакцию WS2K3. Вы даже можете создать Session Directory на одном терминальном сервере в кластере, хотя это не рекомендуется, поскольку остановка этого сервера для осблуживания или установки ПО может затронуть весь кластер.

Для настройки Каталога Сеансов, начните с сервера, на котором будет храниться база данных сеансов. На этом сервере откройте Computer Management or Services для доступа к Terminal Services Session Directory. Откройте свойства службы, настройте ее на автоматический запуск и запустите ее.

При первом запуске службы Session Directory она создает новую локальную группу Session Directory Computers. Чтобы терминальные серверы информировали сервер каталога сеансов о своих сеансах или запрашивали каталог сеансов с других серверов, терминальный сервер должен быть членом этой группы. Вы можете добавить в эту группу индивидуальные компьютеры в кластере или создать доменную группу, содержащую терминальные серверы, и добавить эту группу в Session Directory Computers.

После того, как вы создали сервер каталога сеансов, необходимо настроить терминальные серверы. Вы можете использовать либо утилиту Terminal Services Configuration, либо редактор групповых политик. В редакциях WS2K3 Enterprise или Datacenter, узел Server Settings в Terminal Services Configuration имеет дополнительную опцию - Session Directory.

Здесь вы вводите имя кластера NLB, к которому принадлежит терминальный сервер, и имя хоста или адрес IP сервера каталога сеансов. Если терминальный сервер имеет несколько сетевых адаптеров, вы должны выбрать один из них для направления на него клиентов. Вы также должны указать, следует ли подключать клиента к уникальному адресу IP этого сервера , выбрав редирект адреса IP, или использовать редирект маркеров маршрутизации, если адрес сервера невидим клиентам.

При использовании Microsoft NLB вы должны выбрать редирект адреса IP, поскольку NLB не поддерживает маркеры маршрутизации.


Если вы решили использовать Terminal Services Configuration, то вам необходимо сделать эти настройки вручную на всех терминальных серверах. Если вы используете Active Directory, то используйте групповые политики. Для этого создайте или отредактируйте GPO и примените их ко всем серверам кластера. Затем откройте редактор групповых политик, найдите Computer Configuration, Administrative Templates, Windows Components, Terminal Services, Session Directory. Там содержатся все настройки, доступные в Terminal Services Configuration. Разрешите все четыре параметра и введите необходимую информацию. При следующем обновлении политик все серверы кластера будут использовать каталог сеансов.

При использовании Session Directory, сервер, содержащий базу данных, становится критическим для функционирования терминальных серверов. Вы можете использовать кластеры Windows, чтобы сделать каталог сеансов отказоустойчивым. Microsoft написала инструкции для этого в статье “Session Directory and Load Balancing Using Terminal Server”


Настройка NLB


После того, как вы сконфигурировали ваши терминальные серверы и установили приложения, вы готовы приступить к конфигурированию их для NLB. Но сначала вы должны собрать следующую информацию:

Адрес VIP, который вы выбрали для кластера

Уникальные адреса IP каждого из серверов фермы

Алиас DNS, который вы хотите использовать для кластера

Сетевой протокол и порт, который вы хотите использовать для распределения нагрузки (для RDP это TCP и порт 3389).

Доменная учетная запись с правами администратора ко всем серверам кластера, или локальные учетные записи администраторов каждого сервера

Собрав эту информацию, вы должны запустить NLB Manager. Вы можете это сделать с любой системы WS2K3 или с клиента Windows XP, на котором установлен WS2K3 Administrative Tools.

NLB Manager позволяет создавать, конфигурировать и управлять кластерами NLB в сети. Для создания нового кластера выберите New из меню Cluster.

В окне Cluster Parameters введите адрес VIP и имя DNS нового кластера. Если вы планируете администрировать кластер с помощью NLB Manager, то не нужно разрешать удаленное управление или устанавливать пароль. NLB Manager использует Windows Management Interface (WMI), т.е. использует учетную запись пользователя.

Вы также можете выбрать, какой режим должна использовать межсерверная коммуникация - однонаправленный (unicast) или широковещательный (multicast). Если ваши терминальные серверы имеют по одному сетевому адаптеру, и ваша сеть поддерживает мультикастинг в подсети, вы должны разрешить широковещательный режим (multicast). Это позволит вам управлять кластером с помощью NLB Manager с любого сервера кластера. Заполнив параметры кластера, щелкните Next.

Дополнительную информацию см. статью “Technical Overview of Windows Server 2003 Clustering Services”

Следующее окно NLB Manager предлагает ввести дополнительные адреса IP, используемые в кластере. Эта информация обычно используется веб-серверами с распределением нагрузки, когда каждый сервер обслуживает несколько веб-сайтов, каждый из которых представлен уникальным адресом IP. Для терминальных серверов вы можете оставить это окно пустым и щелкнуть Next для вызова окна Port Rules.




Правила портов определяют, как должны обрабатываться соединения к VIP. По умолчанию весь траффик TCP и UDP равномерно распределяется по узлам кластера. Для терминальных серверов вам необходимо балансировать только RDP, поэтому подсветите правило default и щелкните Remove для его удаления. Затем щелкните Add для вызова окна Add/Edit Port Rule.

В этом окне укажите диапазон портов с 3389 по 3389 и выберите протокол TCP. Эта конфигурация создаст распределение нагрузки только для протокола RDP. Ограничив правила только протоколом RDP, вы снизите нагрузку на службу NLB и на серверы, защитив их от ошибочных запросов, посылаемых на адрес VIP на другие порты.

Оставьте режим фильтрации по умолчанию (multiple host, single affinity), смысл остальных опций следующий:

Multiple host — Если выбрано, то соединение, выполняемое на указанный диапазон портов, будет распределяться среди нескольких узлов. В этом случае вы должны выбрать режим родственности (affinity). Родственность обеспечивает, что после того, как клиент будет направлен на указанный узел, клиент в течении сеанса будет продолжать направляться на тот же узел во всех коммуникациях.

Опции родственности:

None - родственность не используется

Single - Родственность основывается на адресе IP клиента, балансировка выполняется на базе клиента

Class C - Родственность основана на подсети класса С клиентов. Когда один клиент устанавливает соединение к некоторому узлу, все соединения от той подсети будут направлены на тот же узел.

Single host - Соединения на указанынй диапазон портов будут направлены на один узел, а если этот узел недоступен - то на следующий узел, вычисляемый по номеру Handling Priority (приоритет обработки). Приоритет присваивается узлу при добавлении сервера в кластер.

Вы также можете запретить правило в этом окне. Это временно отключит разпределение нагрузки для указанного диапазона портов..

После настройки правил портов, щелкните Next для перехода к окну Connect. Введите в нем имя первого сервера, добавляемого к кластеру. NLB Manager установит соединение с этим сервером и выдаст список сконфигурированных сетевых адаптеров. Вы должны выбрать адаптер, на котором вы хотите принимать входящие соединения с VIP, и щелкнутьNext.





В последнем окне, Host Parameters, вы настраиваете конкретный сервер, выбранный для присоединения к кластеру. Здесь вы сначала должны установить номер приоритета, который одновременно используется как уникальный идентификатор узла. Вы можете изменить физический адрес IP сервера и маску подсети, а также установить начальное значение состояния службы распределения нагрузки после загрузки сервера.



После щелчка Finish, NLB Manager подключится к серверу через WMI и сконфигурирует службу NLB. После создания кластера вы вернетесь в основное окно NLB Manger, в котором увидите новый кластер. В этом окне вы можете щелкнуть правой кнопкой мыши на кластере для добавления к нему узлов. Всякий раз при добавлении сервера вам необходимо выбрать сетевой инерфейс и установить приоритет.

Завершив добавление терминальных серверов в кластер, вы можете опробовать NLB, используя клиент Remote Desktop Connection, указав в нем адрес VIP или имя DNS кластера. Ваше соединение должно быть направлено на один из серверов кластера.

Для подключения с использованием имени DNS кластера, вы должны либо разрешить в своей сети динамический DNS (DDNS), который позволяет службе NLB регистрировать имя кластера, или вручную добавить алиас кластера в базу данных DNS.


Настройка роли терминального сервера


Как видно из рисунка, после установки терминального сервера вы должны сделать ряд шагов. Мы уже обсуждали лицензирование в Главе 1. В этом разделе мы обсудим настройку терминального сервера.

Справочный материал содержится в разделе Plan your Terminal Server Deployment, внимательно ознакомьтесь с ним.

Есть два основных инструмента конфигурирования терминального сервера: утилита Terminal Services Configuration и редактор групповых политик.



Настройка свойств пользователей через интерфейсы Active Directory Service


Использование графических утилит для конфигурации пользователей удобно, если у вас мало пользователей. Но если вам необходимо конфигурировать большое число пользователей, то легче это делать с использованием интерфейса службы активного каталога (Active Directory Service Interfaces, ADSI). По сравнению с Win2K эта особенность значительно улучшена.

Доступ к ADSI осуществляется через Windows Script Host (WSH), поэтому вы можете использовать скрипты на Visual Basic Script (VBScript) или Java Script. Примеры, приведенные далее, написаны на VBScript.

Конфигурирование пользователей через ADSI состоит из трех этапов. Сначала вы должны открыть соединение с учетной записью пользователя, затем установить свойства, и наконец записать изменения в учетную запись пользователя. Для открытия соединения вы используете либо провайдера WinNT, либо LDAP. Провайдер WinNT используется записями Security Accounts Manager (SAM) - либо локальными учетными записями на терминальном сервере, либо записями в домене NT 4.0. LDAP используется для учетных записей пользователей в АD.

Хотя вы можете использовать эти скрипты для конфигурирования как учетных записей домена NT 4.0, так и Win2K AD, вы можете запустить их только на сервере WS2K3; они не будут работать на Win2K и даже на Windows XP.

Синтаксис для соединения:

Set objUser = GetObject(“WinNT://<domain name>/<username>,user”

или

Set obUser = Get Object(“LDAP://<distinguished name of user>”)

Как видно, для использования LDAP вы должны знать отличительное имя объекта пользователя (например, cn=joe.user,ou=users,dc=example,dc=domain,dc=com), что нелегко, если ваши пользователи расположены в нескольких OU. Для облегчения этого Microsoft разрешила использовать провайдера WinNT также для учетных записей AD. Контроллер домена автоматически транслирует вызовы WinNT в вызовы LDAP.

Открыв учетную запись, вы устанавливаете параметры, которые хотите изменить. Имена параметров Terminal Services и синтаксис их использования приведены ниже:

objUser.ConnectClientDrivesAtLogon = [1,0]


objUser.ConnectClientPrintersAtLogon = [1,0] ObjUser.DefaultToMainPrinter = [1,0]objUser.TerminalServicesInitialProgram = [“path to program”]objUser.TerminalServicesWorkDirectory = [“path to directory”]objUser.TerminalServicesProfilePath = [“path to directory”]objUser.TerminalServicesHomeDirectory = [“path to directory”]objUser.TerminalServicesHomeDrive = [“drive letter:”]objUser.AllowLogon = [1,0]objUser.MaxDisconnectionTime = [minutes, 0 for never]objUser.MaxConnectionTime = [minutes, 0 for never]objUser.MaxIdleTime = [minutes, 0 for never]objUser.BrokenConnectionAction = [1,0] 1 = end session, 0 = disconnect the sesionobjUser.ReconnectionAction = [1.,0]      1 = original client only, 0 = any clientobjUser.EnableRemoteControl = [0,1,2,3,4]0 = Disable Remote Control      1 = Enable Notify & Enable Interact     2 = Disable Notify & Enable Interact     3 = Enable Notify & Disable Interact     4 = Disable Notify & Disable Interact

Наконец, вы должны сохранить изменения в учетной записи пользователя:

objUser.SetInfo

Теперь объединим все это вместе и настроим параметры для одной учетной записи пользователя:

Set objUser = GetObject(“LDAP://cn=joe.user,ou=users,dc=example,dc=domain,dc=com”)‘ илиr: Set objUser = GetObject(“WinNT://example/joe.user,user”)objUser.ConnectClientDrivesAtLogon = 1objUser.ConnectClientPrintersAtLogon = 1 objUser.DefaultToMainPrinter = 1objUser.TerminalServicesInitialProgram = “C:\windows\notepad.exe”objUser.TerminalServicesWorkDirectory = “c:\windows”objUser.TerminalServicesProfilePath = “\\server\tsprofiles\joe.user”objUser.TerminalServicesHomeDirectory = “\\server\home\joe.user”objUser.TerminalServicesHomeDrive = “H:”objUser.AllowLogon = 1objUser.MaxDisconnectionTime = 15objUser.MaxConnectionTime = 0objUser.MaxIdleTime = 180objUser.BrokenConnectionAction = 0objUser.ReconnectionAction = 0objUser.EnableRemoteControl = 1objUser.SetInfo

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

Microsoft TechNet Script Center (http://www.microsoft.com/technet/scriptcenter) - отличный ресурс для административных скриптов. Даже с небольшим знанием программирования вы можете изменить примеры скриптов, приспособив их для своих нужд.


Настройка терминальных серверов при помощи групповых политик


После того, как вы подняли AD и добавили в домен терминальные серверы, вы готовы начать проектировать свои GPO для конфигурирования терминальных серверов и пользовательских сеансов. В главе 2 содержался краткий обзор политик, которые вы можете сконфигурировать для серверов. В предыдущих разделах я упоминал, что вы можете использовать GPO для конфигурирования настроек пользователей и сеансов, например, тайм-аутов, редиректа ресурсов и т.д. Вы также можете использовать GPO для управления пользовательским интерфейсом Windows и для ограничения доступа к инструментам и функциям, которые злонамеренные пользователи могут использовать для дестабилизации работы сервера.



Настройка учетных записей пользователей


Пока мы рассматриваем интерфейс User Properties, я хотел бы обсудить остальные настройки терминального сервера. Большинство из этих настроек доступны в Terminal Services Configuration. Вы сами решаете, на каком уровне их применять - для отдельных пользователей или для сервера. Учтите, что настройки пользователя переопределяют настройки сервера. Для доступа к пользовательским настройкам используйте один из следующих инструментов: для доменов AD используйте инструмент Active Directory Users and Computers; для доменов NT 4.0 используйте User Manager for Domains, а для рабочих групп - Computer Management.

Вкладка Terminal Services, показанная в этом разделе, не видна в версии User Manager for Domains для NT 4.0; вы должны использовать версию этого инструмента для Win2K, WS2K3 или NT 4.0 Terminal Server Edition.

Независимо от используемого инструмента, вам доступны одни и те же опции. На следующем рисунке показаны вкладки Environment и Remote control.

Вкладка Environment

используется для указания начальной программы и настроек переназначения ресурсов клиента. Если вы разрешите опцию Start the following program at logon setting, то при каждом подключении пользователя вместо рабочего стола будет запущена указанная программа.

В этом разделе настройки сервера переопределяют настройки пользователя. Так, если вы указали начальную прогорамму и в настройках пользователя, и в настройках сервера (с помощью Terminal Services Configuration), то будет запущена программа, указанная в настройках сервера.

На вкладке Remote control вы можете разрешить или запретить возможность удаленного управления сеансом этого пользователя. Если вы разрешаете удаленное управление, вы также можете указать требовать от пользователя разрешения, а также установить уровень управления. Эти настройки будут переопределены, если удаленный доступ сконфигурирован на сервере с помощью Terminal Services Configuration.

Вкладка Sessions

позволяет установить тайм-ауты для терминальных сеансов. На этой вкладке вы можете установить тайм-ауты для активных, холостых и разъединенных сеансов. Вы можете выбрать поведение при потере соединения или превышении лимита времени сеанса - отключить сеанс или завершить его. Вы также можете выбрать, может ли пользователь подключаться к разъединенному сеансу с любого клиентского устройства или только с того, с которого инициировал сеанс.

На вкладке Terminal Services Profile вы можете установить профиль и домашний каталог, используемый при регистрации пользователя на терминальном сервере. Здесь также находится опция Allow logon to terminal server, определяющая, может ли вообще пользователь регистрироваться на терминальном сервере. В отличие от других настроек в этом разделе, она не дублируется в Terminal Services Configuration.



Настройки интерфейса пользователя


Большинство настроек, доступных в GPO, предназначены для конфигурирования и блокировки интерфейса пользователя. Это весьма скользкая тема, поскольку пользователи часто привыкли использовать особенности Windows, которые администраторы часто удаляют или запрещают использовать на терминальных серверах (например, командная строка, команда Run, Task Manager и т.п.). Я рекомендую прочесть статью Microsoft “How to Lock Down a Win2K Terminal Server Session”. Затем вы можете добавлять или удалять ограничения в зависимости от требований пользователей.

Ниже приведен список политик, которые рекомендует Microsoft (настройки разделены на Computer Configuration и User Configuration):

Настройки Computer Configuration:

Do not display last user name in logon screen (Не выводить имя последнего пользователя на экране входа)

Restrict CD-ROM access to locally logged-on user only (Ограничить доступ к CD-ROM только для локально вошедших пользователей)

Restrict floppy access to locally logged-on user only (Ограничить доступ к FDD только для локально вошедших пользователей)

Disable Windows Installer—Always (Запретить Windows Installer - Насовсем)

Настройки User Configuration:

Folder Redirection: Application Data

Folder Redirection: Desktop

Folder Redirection: My Documents

Folder Redirection: Start Menu

Remove Map Network Drive and Disconnect Network Drive (Удалить команды Map Network Drive и Disconnect Network Drive)

Remove Search button from Windows Explorer (Удалить кнопку Search из Windows Explorer)

Disable Windows Explorer’s default context menu (Запретить контекстное меню в Windows Explorer)

Hide the Manage item on the Windows Explorer context menu (Спрятать команду Manage в контекстном меню Windows Explorer)

Hide these specified drives in My Computer (enable this setting for A through D) (Спрятать следующие диски в My Computer - от A до D)

Prevent access to drives from My Computer (enable this setting for A through D) (Запретить доступ к этим дискам в My Computer - от A до D)


Hide Hardware Tab (Запретить вкладку Hardware)

Prevent Task Run or End (Запретить запуск и завершение задач)

Disable New Task Creation (Запретить создание новых задач)

Disable and remove links to Windows Update (Запретить и удалить ссылки на Windows Update )

Remove common program groups from Start Menu (Удалить группу общих программ из меню Start)

Disable programs on Settings Menu (Запретить программы в меню Start)

Remove Network and Dial-up Connections from Start Menu (Убрать пункт Network and Dial-up Connections из меню Start)

Remove Search menu from Start Menu (Убрать пункт Search из меню Start)

Remove Help menu from Start Menu (Убрать пункт Help из меню Start)

Remove Run menu from Start Menu (Убрать пункт Run из меню Start)

Add Logoff to Start Menu (Добавить понкт Logoff в меню Start)

Disable and remove the Shut Down command (Запретить и удалить команду Shut Down )

Disable changes to Taskbar and Start Menu Settings (Запретить изменения в панель задач и настройки меню Start)

Hide My Network Places icon on desktop (Спрятать иконку My Network Places на рабочем столе)

Prohibit user from changing My Documents path (Запретить пользователю менять путь My Documents)

Disable Control Panel (Запретить Панель Управления)

Disable the command prompt (Set Disable scripts to No) (Запретить командную строку)

Disable registry editing tools (Запретить инструменты редактирования реестра)

Disable Task Manager (Запретить Task Manager)

Disable Lock Computer (Запретить Lock Computer)

Очевидно, что если вы используете все эти политики, то получите крайне строгую среду, почти не пригодную к использованию. Например, Microsoft рекомендует удалить команду Map Network Drive, но если вы находитесь в распределенной среде, ваши пользователи могут потребовать этой возможности для доступа к своим документам. Тем не менее этот список может служить хорошей отправной точкой.

Я рекомендую начать с крайне ограничительной политики, а затем протестировать и при необходимости разрешить отдельные настройки. Вы не должны полагаться только на политики при защите вашего сервера, поскольку они оставляют множество лазеек для злонамеренных пользователей. Например, если вы используете Prevent access to drives in My Computer в качестве единственного метода защиты файлов на сервере, злоумышленник может легко создать пакетный файл. Вместо этого вы должны применить ограничения NTFS для защиты файловой системы и использовать политику Prevent access to drives in My Computer для предотвращения использования диска C сервера в качестве диска C своего клиентского устройства. Если вы запускаете сервер в режиме Full Security, то большинство ключевых областей файловой системы и реестра по умолчанию защищены.

Вам следует быть осторожными, создавая разные политики для пользователей и системных администраторов. Очевидно, что администраторам требуются некоторые функции, которые не нужны пользователям. Для создания отдельных политик, создайте два объекта GPO, один для пользователей, которые включает все ограничения, которые вы хотите реализовать, а второй - для администраторов, в котором ограничения запрещены. Установите делегирование на пользователскую политику для применения ее к Authenticated Users, а администраторскую политику примените только к доменной группе, содержащей учетные записи администраторов. Наконец, поместите в порядке применения администраторскую политику перед пользовательской.




Назначение лицензий


Всякий раз при подключении клиента к терминальному серверу, последний обращается к серверу лицензирования для подтверждения существующей лицензии или выдачи новой лицензии. Тип лицензии, который выдает терминальный сервер, зависит от режима лицензирования - Per Device или Per User. Вы можете установить режим в утилите Terminal Services Configuration или групповыми политиками. По умолчанию используется режим Per Device, но если вы обновили терминальный сервер Win2K, который был в режиме Internet Connector, то режим лицензирования будет Per User.

Чтобы поддерживать маркеры лицензий как Per User, так и Per Device, терминальный сервер должен быть в режиме Per User.

Для каждого соединения клиента сервер выполняет следующие действия:

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

2. Если устройство клиента не имеет маркера, то следующий шаг зависит от режима лицензирования терминального сервера:

a. Режим лицензирования Per-User - Терминальный сервер запрашивает учетные данные пользователя и осуществляет аутентификацию. Затем он запрашивает сервер лицензирования либо проверить, либо выдать лицензию для пользователя. Маркер лицензии сохраняется на сервере лицензирования.

b. Режим лицензирования Per-Device - Терминальный сервер запрашивает временный маркер у сервера лицензирования и записывает его в реестр клиента. После аутентификации пользователя терминальный сервер указывает серверу лицензирования пометить временный маркер как проверенный. Если пользователь не аутентифицировался, маркер немедленно возвращается в пул доступных лицензий.

3. В любом случае, если сервер лицензирования не имеет свободных маркеров, производится обращение к другому серверу лицензирования. Если первый сервер лицензирования знает, что другой сервер лицензирования имеет доступные лицензии, он запросит маркер от лица терминального сервера. Если сервер лицензирования не знает об остальных серверах лицензирования, то терминальный сервер запрашивает следующий сервер лицензирования, кешированный в его реестре.

В большинстве случаев серверы лицензирования информируют друг друга о том, какие лицензии добавлены или удалены их их пулов. Этот процесс называется "уведомлением о лицензиях" (License Token Announcement) и происходит в следующих случаях:

Между доменными серверами лицензирования в пределах одного домена

Между корпоративными серверами лицензирования внутри одного сайта и домена

От корпоративных серверов лицензирования к доменным серверам лицензирования

От серверов лицензировния Win2K к серверами лицензирования WS2K3



Нижняя граница


Собрав всю информацию, вы можете задаться вопросом - сколько пользователей может поддерживать мой терминальный сервер? Ответ зависит от многих факторов - числа приложений, используемых каждым пользователем на сервере, потребления приложением памяти и процессора, частоты переключения между приложениями. Давайте рассмотрим пример на основе современной аппаратуры сервера.

Начнем с двухпроцессорной системы 2.4GHz Xeon с включенным HyperThreading. Добавим 2GB RAM и 4 диска SCSI в конфигурации RAID 10. Такой сервер будет стоить около $6000 и будет поддерживать до 200 обычных пользователей. Если вы используете этот же сервер для предоставления доступа не к рабочему столу, а к одиночному опубликованному приложению, то он может поддерживать и 400 параллельных пользователей (в зависимости от требований приложения).

Если ваш терминальный сервер содержит стандартный набор приложенй - Microsoft Office, Outlook, Internet Explorer (IE) и т.д. - то ограничивающим фактором будет память; два процессора с HyperThreading не будут полностью загружены. Поэтому удвоив память до 4GB вы сможете удвоить число поддерживаемых пользователей.,

Есть утилиты, например, Wyse Expedian (http://www.wyse.com), которые оптимизируют использование памяти на терминальных серверах, позволяя еще больше увеличить емкость вашего сервера.



Новые ответы на старые вопросы


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



Обнаружение сервера лицензирования


При запуске терминального сервера, он пытается найти сервер лицензирования. Метод поиска зависит от среды сервера и режима работы сервера лицензирования. Вы можете переопределить процесс обнаружения, явно указав в реестре серверы лицензирования. В Win2K вы могли указать только один сервер лицензирования, а WS2K3 позволяет указать несколько. Добавьте подключи в ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService\Parameters\LicenseServers. Каждый подключ должен быть назван по имени сервера лицензирования.

Если вы не укажите явно серверы лицензирования в реестре, то процесс их нахождения работает следующим образом: терминальные серверы в рабочей группе или в домене, отличном от AD, посылают широковещательные запросы mailslot. Соответственно, таким образом могут быть обнаружены только серверы, находящиеся в той же подсети.

Терминальные серверы AD сначала ищут серверы лицензирования в режиме лицензирования Enterprise. Для этого они делают запрос LDAP в поиске записи CN TS-Enterprise-License-Server, указывая свой сайт. Затем терминальный сервер обращается к каждому контроллеру домена в сайте в поиске доменного сервера лицензирования. Наконец, терминальный сервер будет обращаться ко всем контроллерам в своем домене.

После обнаружения терминальный сервер кеширует все найденные серверы лицензирования в реестре в ключах: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Parameters\EnterpriseServerMulti и

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\Parameters\DomainLicenseServerMulti.

Важно заметить, что если найдены корпортивный (Enterprise) и доменный серверы лицензирования, то терминальный сервер всегда предпочтет использовать доменный сервер, даже если для этого необходимо перейти границы сайта. Если ни одного сервера лицензирования не найдено, терминальный сервер будет продолжать процесс поиска каждый час. Как только обнаружен один или несколько серверов лицензирования, процесс обнаружения не повторяется до тех пор, пока в реестре доступны данные о кешированных серверах.



Обратный порядок обработки политик


Обратный порядок обработки политик позволяет получить преимущества настроек User Configuration из GPO, связанного с OU, которая содержит компьютер. Как показано на следующем рисунке, есть два режима обратной обработки: Замена (Replace) и Слияние (Merge). Режим слияния предписывает системе сначала применить User Configuration из политики OU "Users" (стандартный режим обработки), затем применить User Configuration из политики OU "Computers". Результирующий набор политик будет представлять собой комбинацию обоих наборов GPO. Режим замены предписывает системе целиком игнорировать объекты GPO из OU "Users" и применять только настройки User Configuration из политики OU "Computers".

В нашем примере мы можем включить обратную обработку политик в режиме слияния для терминального сервера TS01. В этом сценарии Computer Configuration применяется как обычно, но когда Грег подключается к TS01, его User Configuration применяется в следующем порядке:

Local — Применяются настройки User Configuration из политики Computer1 Local Policy

Site — Применяются настройки User Configuration из политики USA Site Policy

Domain — Применяются настройки User Configuration из политики Domain Policy

OU — Применяются настройки User Configuration из политики Users OU Policy для OU "Users"

OU Loopback — Применяются настройки User Configuration из политики TS OU Policy из OU "Terminal Servers"

В этом режиме Грег получает настройки прокси для его Internet Explorer из политики "Users OU Policy", но не имеет доступа к команде Shut Down в меню Start, т.к. она удалена политикой "TS OU Policy". Режим слияния имеет преимущество в том, что можно поместить глобальные настройки в политику "Users OU Policy", а запрещения применять только в политике "TS OU Policy". Недостатком этого режима является то, что вам необходимо следить за пользовательскими настройками в двух объектах GPO.

В режиме замены, User Configuration из политики "Users OU Policy" игнорируется :

Local — Применяются настройки User Configuration из Computer1 Local Policy

Site — Применяются настройки User Configuration из USA Site Policy

Domain — Применяются настройки User Configuration из Domain Policy

OU Loopback — Применяются настройки User Configuration из TS OU Policy

Этот режим упрщает обработку GPO, помещая все настройки в политику TS OU Policy, но требует синхронизации с изменениями, вносимыми в политику "Users OU Policy". Например, если вы настроили прокси для IE с помощью групповых политик, то необходимо, чтобы значения, применяемые в объектах GPO, связанных с OU "Users", соотвествовали значениям в объектах GPO, связанным с OU "Terminal Servers" (подразумевая, что настройки прокси одинаковы для сервера и рабочих станций). Если меняется адрес прокси-сервера, то вам следует изменить обе политики.



Ограниченные группы


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

Ограниченные группы (Restricted Groups) позволяют вам управлять членами локальной машинной группы через доменные GPO. Тогда при добавлении в домен нового терминального сервера, сервер немедленно наследует надлежащие доменные группы в свою группу Remote Desktop Users. Таким же способом вы можете управлять локальной группой Administrators.



Ограничить пользователя одним сеансом (Restrict Each User to One Session)


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

Citrix MetaFrame поддерживает совместное использование сеанса (session sharing). Это позволяет пользователю запускать несколько опубликованных приложений на том же сервере без создания отдельного сеанса для каждого из них.

На следующем рисунке показан узел соединений. В этом узле вы можете настраивать тайм-ауты, безопасность и перенаправление ресурсов клиента.

По умолчанию вы видите только одно соединение RDP-Tcp. Если у вас многоадресный (multihomed) севрер, то вы можете изменить определение соединения по умолчанию так, чтобы оно применялось только к одному сетевому интерфейсу, а затем создать новое соединение для другого интерфейса. Если вы инсталлировали Citrix MetaFrame, то увидите здесь еще и соединения ICA; но их лучше настраивать с помощью Citrix Connection Configuration.

Щелкнув правой кнопкой на соединении, вы можете целиком его запретить, переименовать или получить доступ к свойствам. Если вы знакомы с Win2K Terminal Services Configuration, то интерфейс WS2K3 покажется вам знакомым, с добавлением новых особенностей RDP 5.2 и новой модели "полной безопасности".

Вкладка General

свойств RDP-Tcp позволяет добавить комментарии к соединению и установить уровень шифрования. WS2K3 предлагает новые уровни шифрования:

Low - Все данные от клиента к серверу защищаются 56-битным алгоритмом.

Client Compatible (по умолчанию) - Все данные между сервером и клиентом шифруются используя максимальную силу ключа, поддерживаемую клиентом.

High - Все данные между сервером и клиентом шифруются используя максимальную силу ключа, поддерживаемую сервером. Клиенты, не способные поддерживать заданный уровень шифрования, не смогут подключиться.


FIPS Compliant - Все данные между сервером и клиентом шифруются, используя методы Federal Information Processing Standard (FIPS) 140-1



На вкладке Logon Settings вы можете указать, чтобы пользователи регистрировались под своими именами или указать единую учетную запись для автоматического входа.

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

Ниже показаны вкладки Sessions

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

Вкладка Sessions

содержит тайм-ауты для разъединенных, холостых и активных сеансов. Разъединенный сеанс - это такой сеанс, в котором пользователь активно отключился от сервера, закрыв окно соединения, но не выбрав из меню Start опцию "Disconnect". Холостой (idle) сеанс - это сеанс с открытым окном, но пользователь не нажимал клавиши и не двигал мышью в течении заданного периода времени. Если сеанс теряет сетевое соединение или наступает тайм-аут холостого сеанса, то вы можете выбрать, как поступать в этом случае - завершить сеанс или считать сеанс разъединенным.

Вкладка Environment

позволяет указать некоторую программу, запускаемую при подключении клиента к серверу. Вы должны указать как путь, так и имя исполняемого файла. При подключении любого пользователя, включая администратора, вместо Windows Explorer будет запущена указанная программа. Многие администраторы ошибаются, думая что настройка здесь аналогична папке "Автозагрузка" (Startup) меню Start, которая автоматически запускает программу при регистрации пользователя. Это не так - указанная здесь программа заменяет оболочку Explorer.

 


Следующие закладки - это Remote Control и Client Settings.



Когда администратор хочет удаленно подключиться к существующему пользовательскому сеансу, то это называется shadowing, или удаленное управление. На вкладке Remote Control вы можете настроить значения по умолчанию для наследования настроек из пользовательских настроек, или можете указать здесь свои собственные для этого сервера. Если вы указываете настройки здесь, то можете разрешить или запретить, чтобы пользователь давал согласие на удаленное управление (через всплывающее окно), а также можете установить уровень взаимодействия с пользовательским сеансом - только наблюдение или взаимодействие. Если вы выбрали взаимодействие (interact with the session), то администратор может управлять мышью и клавиатурой пользователя от лица пользователя. Вы также можете вообще запретить удаленное управление.



Вкладка Client Settings

позволяет переопределить перенаправление следующих ресурсов клиента:

Драйвы

Принтеры

Порты LPT

Порты COM

Буфер обмена

Аудио

Вкладки Network Adapter

и Permissions служат для настройки параметров сервера. На вкладке Network Adapter вы можете указать, что настройки относятся ко всем сетевым адаптерам или только к указанному. На вкладке Permissions вы указываете, кто имеет право подключения к серверу по протоколу RDP, а также уровень их привилегий:

 


Вкладка Network Adapter

также позволяет ограничить максимальное число соединений, допустимое для указанного сетевого адаптера или для всего сервера, если установлено "All network adapters configured with this protocol".

Вкладка Permissions

несколько отличается от той, что была в Win2K. В Win2K, привилегии по умолчанию позволяли всем пользователям всех доверительных доменов подключаться к терминальному серверу сразу после его установки. В WS2K3 безопасность прежде всего, и подключение разрешено только администраторам и членам группы Remote Desktop Users. Учтите, что группа Remote Desktop Users изначально пустая, поэтому чтобы ваши пользователи могли подключаться к терминальному серверу, вы должны их добавить в эту группу.

Если вы находитесь в домене AD, то для управления членами группы Remote Desktop Users вы можете использовать настройку Managed Group в групповой политике


Основная настройка групповых политик


В WS2K3 в редактор групповых политик добавлено большое количество новых параметров, недоступных в Win2K. Если терминальный сервер находится в среде AD, вы получите большое преимущество от групповых политик; но даже если он находится в рабочей группе или в домене NT 4.0, настройки терминального сервера все равно доступны через политику локальной машины. Эти настройки доступны через редактор групповых политик (Group Policy Editor).

Для доступа к локальному редактору групповых политик, запустите с комадной строки GPEDIT.MSC. Откройте узел Terminal Services в разделе Computer Configuration, Administrative Templates, Windows Components, Terminal Services.

Настройки разбиты на несколько категорий: Encryption (шифрование), Licensing (лицензирование), Sessions (сеансы) и т.д. Вы обнаружите, что некоторые настройки идентичны тем, что находятся в Terminal Services Configuration. Это сделано для того, чтобы вы могли централизованно управлять настройками серверов без необходимости конфигурировать каждый сервер вручную. Вот некотрые из настроек:

Set path for TS Roaming Profiles (установить маршрут для перемещаемых профилей) - Эта настройка позволяет указать сервер и папку общего доступа, в которой следует хранить перемещаемые профили пользователей. Вы также можете указать путь к терминальному профилю для каждой учетной записи пользователя. Эта настройка позволяет не только переопределить пользовательские настройки в зависимости от сервера, но и позволяет указать другой профиль для терминального сервера для группы терминальных серверов. Это полезно, если вы имеете географически распределенную ферму терминальных серверов и пользователи перемещаются между ними.

TS User Home Directory (домашний каталог терминального пользователя) - Эта настрока аналогична предыдущей, но указывает сервер и папку для создания домашнего каталога для пользователей, регистрирующихся на терминальных серверах.

Настраивая один из вышеуказанных параметров, не пытайтесь указывать каталог для каждого пользователя. Сервер автомтически добавит %username% к маршруту.


Do not allow local administrators to customize permissions (не давать локальным администраторам менять привилегии) - Эта настройка запрещает вкладку Permissions

в утилите Terminal Services Configuration. Поскольку RDP в WS2K3 по умолчанию ограничен и предпочтительный метод предоставления пользователям доступа к терминальному серверу состоит в добавлении их в группу Remote Desktop Users (вместо добавления новых групп в привилегиях RDP), вы можете целиком запретить эту вкладку.

Узел Licensing внутри Terminal Services используется для настройки сервера лицензирования терминальных служб, назначая ему группу безпасности или запрещая обновление лицензий. Группа безопасности принуждает сервер лицензирования выдавать маркеры лицензий только тем терминальным серверам, которые являются членами группы безопасности Terminal Services Computers. Запрет обновлений лицензий предотвращает выдачу маркеров терминальных лицензий WS2K3 клиентам, подключающимся к терминальным серверам Win2K. По умолчанию, если сервер лицензирования не имеет доступных лицензий для серверов W2K, он выдает лицензию WS2K3.

Узел Session Directory

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

Есть также несколько настроек для администраторов терминального сервера. В Computer Configuration, Administrative Templates, System, User Profiles есть опция Allow only local user profiles

(разрешить только локальные профили пользователей). Эта настройка предотвращает сервер от загрузки перемещаемых профилей, даже если они сконфигурированы в учетных записях пользователей. Это полезно, если у вас есть терминальный сервер в другом сайте, чем сервер профиля, и вы не хотите создавать отдельный профиль для этого сайта. Если вы разрешите эту политику, то при входе пользователя будет создаваться локальный профиль и сохраняться на сервере.

Узел User Profiles также содержит политику Delete cached copies of roaming profiles. Эта политика указывает серверу удалять локальную копию перемещаемого профиля после выхода пользователя. Это позволяет экономить место на диске и предотвращает объединение старой версии профиля с сетевой, если пользователь некоторое время не регистрировался на терминальном сервере.

Если вы заглянете в User Configuration, Administrative Templates, Windows Components, Terminal Services, то увидите настройки для удаленного управления, среды, тайм-аутов сеансов, аналогично Computer Configuration. Такой двойной доступ позволяет настраивать политики на пользовательском уровне.

В большиснтве случаев, если вы настраиваете одинаковые параметры в Computer Configuration и в User Configuration, побеждают настройки компьютера.