Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных...

173
Краткий обзор ключевых новинок Алексей Федоров

Transcript of Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных...

Page 1: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Краткий обзор ключевых новинок

Алексей Федоров

Win

dow

s S

erver 2

008

А. Ф

ед

ор

ов

Кр

атки

й о

бзо

р к

лю

чевы

х н

ови

но

к

cover_WS2008.indd 1cover_WS2008.indd 1 08.02.2008 11:59:0308.02.2008 11:59:03

Page 2: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Алексей Федоров

Microsoft®

Windows Server® 2008Краткий обзор ключевых новинок

Специальное издание для конференции, посвященной запуску

Windows Server 2008, SQL Server 2008, Visual Studio 2008

Page 3: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Оглавление

Введение ............................................................................... 9Платформа для выполнения бизнес�задач ............................................................................ 10

Платформа для веб�приложений ................................................................................................... 11

Виртуализация ................................................................................................................................................. 12

Надежность и безопасность ................................................................................................................ 12

Ключевые преимущества и основные причины перехода

на Windows Server 2008 ........................................................................................................................... 13

Аппаратные требования ......................................................................................................................... 14

Глава 1. Серверная операционная система.Основные понятия ............................................................. 15

Server Manager .................................................................................................................................................. 21

Server Core ............................................................................................................................................................ 21

Глава 2. Основные новинки на уровне ядраоперационной системы..................................................... 29

Транзакционная файловая система ............................................................................................. 30

Транзакционный реестр ........................................................................................................................ 32

Процессы и потоки ..................................................................................................................................... 33

Изменения в сетевом стеке .................................................................................................................. 36

Boot Configuration Data ............................................................................................................................ 38

Глава 3. Управление инфраструктуройи приложениями................................................................. 41

Windows Eventing 6.0 ................................................................................................................................. 43

Windows Installer 4.0 ................................................................................................................................... 44

Windows PowerShell .................................................................................................................................... 45

Microsoft Management Console 3.0 .................................................................................................. 46

Windows Task Scheduler 2.0 ........................................................................................................... 47

Page 4: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

4 Оглавление

Глава 4. Windows PowerShell. Коротко о главном.......... 51Знакомство с возможностями Windows PowerShell ..................................................... 52

Работа с файловой системой ............................................................................................................. 58

Работа с реестром ......................................................................................................................................... 59

Доступ к процессам ..................................................................................................................................... 61

Доступ к системному журналу .......................................................................................................... 61

Доступ к WMI ..................................................................................................................................................... 63

Использование XML�файлов .............................................................................................................. 64

Заключение ........................................................................................................................................................ 65

Сетевые ресурсы ............................................................................................................................................ 65

Глава 5. Windows Server 2008как сервер приложений .................................................... 67

История сервера приложений .......................................................................................................... 68

Сервер приложений в Windows Server 2008 ....................................................................... 68

Application Server Foundation ............................................................................................................. 69

Windows Communication Foundation ................................................................................. 69

Windows Workflow Foundation ................................................................................................. 70

Дополнительные сервисы ..................................................................................................................... 71

Веб�сервер ................................................................................................................................................... 71

Удаленный доступ к сервисам COM+ .................................................................................. 71

Windows Process Activation Service ......................................................................................... 72

Net.TCP Port Sharing ............................................................................................................................. 72

Распределенные транзакции ..................................................................................................... 72

Microsoft Message Queue 4.0 .......................................................................................................... 72

Версии Windows Server 2008 .............................................................................................................. 73

Глава 6. Windows Server 2008 как веб-сервер ............... 75Internet Information Services 7.0 для IT�специалистов ................................................. 76

Internet Information Services 7.0 для веб�хостеров .......................................................... 76

Internet Information Services 7.0 для разработчиков ...................................................... 77

Ключевые новинки в Internet Information Services 7.0 ................................................ 78

Модульная архитектура и расширяемость .................................................................... 79

Интеграция с .NET ................................................................................................................................ 84

Средства управления и администрирования .............................................................. 85

Диагностика и обнаружение ошибок ................................................................................ 86

Хостинг веб�сервисов ....................................................................................................................... 87

Заключение ........................................................................................................................................................ 87

Page 5: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Оглавление 5

Глава 7. Механизмы виртуализациив Windows Server 2008....................................................... 89

Виртуализация. Основные понятия ............................................................................................. 90

Виртуализация. Ключевые сценарии ......................................................................................... 92

Консолидация серверов ................................................................................................................. 92

Обеспечение надежной работы .............................................................................................. 92

Динамический центр обработки данных....................................................................... 93

Разработка и отладка приложений ....................................................................................... 93

Виртуализация. Технические подробности ......................................................................... 93

Установка и управление виртуализацией ............................................................................... 95

Заключение ........................................................................................................................................................ 98

Ресурсы ........................................................................................................................................................... 98

Глава 8. Windows Server 2008и совместимость приложений .......................................... 99

Несовместимости, характерные

для Windows Vista и Windows Server 2008............................................................................ 102

User Account Control (UAC) ........................................................................................................ 102

Windows Resource Protection (WRP) .................................................................................. 103

Mandatory Integrity Control (MIC) ........................................................................................ 103

Изменение номера версии операционной системы ........................................ 104

Изоляция сессии 0 ............................................................................................................................. 105

Несовместимости, уникальные для Windows Server 2008 .................................... 106

Изменения в Active Directory ................................................................................................... 107

Новые или измененные серверные роли .................................................................... 108

Server Core ................................................................................................................................................. 110

Failover Clustering ............................................................................................................................... 111

Windows Firewall ................................................................................................................................. 112

Заключение ..................................................................................................................................................... 113

Глава 9. Microsoft Windows Server 2008.Ключевые вопросы сертификации приложений ..........115

Программа Works with Windows Server 2008 .................................................................... 116

Программа Certified for Windows Server 2008 .................................................................. 119

Глава 10. Microsoft Windows Server 2008.Что еще нового? ................................................................121

Средства обеспечения безопасности ...................................................................................... 122

Защита доступа к сети .................................................................................................................... 123

Page 6: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

6 Оглавление

Сценарии защиты доступа к сети (NAP) ....................................................................... 124

Режим повышенной безопасности брандмауэра Windows ........................ 125

Шифрование диска BitLocker ................................................................................................. 126

Инфраструктура Enterprise PKI (PKIView) ................................................................... 126

Служба CNG ............................................................................................................................................. 127

Контроллеры домена только для чтения ..................................................................... 128

Изоляция серверов и доменов ............................................................................................... 128

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

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

Единый вход ........................................................................................................................................... 131

Удаленные приложения служб терминалов .............................................................. 131

Шлюз служб терминалов (TS Gateway) .......................................................................... 131

Веб�клиент служб терминалов ............................................................................................... 132

Средства управления удаленными филиалами .............................................................. 133

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

Отказоустойчивые кластеры ................................................................................................... 134

Балансировка сетевой нагрузки ........................................................................................... 136

Архивация данных ............................................................................................................................ 137

Новинки в службах каталогов ........................................................................................................ 139

Контроллеры домена только для чтения ..................................................................... 140

Службы федерации Active Directory .................................................................................. 141

Аудит службы каталогов ............................................................................................................... 141

Основные компоненты роли сервера ............................................................................ 142

Перезапускаемые службы AD DS .......................................................................................... 142

Средство просмотра снимков AD DS ............................................................................... 142

Детальная политика паролей и блокировки учетных записей ................ 142

Установка с носителя ...................................................................................................................... 142

Службы развертывания Windows ................................................................................................ 143

Новые возможности служб развертывания

Windows в Windows Server 2008 ........................................................................................... 143

Повышенная производительность протокола TFTP ......................................... 143

Средства диагностики ................................................................................................................... 143

Многоадресное развертывание ............................................................................................ 143

Новинки в сетевых функциях ........................................................................................................ 144

Расширенная сквозная инфраструктура безопасности ................................. 145

Повышенная производительность и надежность ............................................... 145

Большая масштабируемость .................................................................................................... 146

Новые механизмы управления печатью ............................................................................... 147

Page 7: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Оглавление 7

Приложение 1. Технологии защиты приложенийв Windows Vista и Windows Server 2008 ........................ 149

Проверка переполнения буфера стека .......................................................................... 149

Защита при обработке исключений ................................................................................ 150

Поддержка No eXecute (NX), Data Execution

Prevention (DEP) и eXecute Disable (XD) ....................................................................... 150

Случайное распределение адресного пространства —

Address space layout randomization (ASLR) ................................................................... 155

Случайное распределение «кучи» ....................................................................................... 155

Случайное распределение стека .......................................................................................... 155

Определение повреждения кучи ......................................................................................... 155

Приложение 2. Механизмы обеспечениянадежности приложений ................................................ 157

Windows Feedback Platform .............................................................................................................. 157

Windows Feedback Platform на уровне пользователей ..................................... 158

Windows Feedback Platform на уровне разработчиков .................................... 161

Программные интерфейсы Windows Feedback Platform .............................. 162

Механизм Restart Manager .................................................................................................................. 163

Restart Manager и программы установки приложений ........................................... 165

Примеры ............................................................................................................................................................ 168

Дополнительные механизмы обеспечения надежности ...................................... 168

Заключение ..................................................................................................................................................... 169

Приложение 3. Ресурсы по Microsoft WindowsServer 2008........................................................................ 170

Основные ресурсы ................................................................................................................................... 170

Инфраструктура .......................................................................................................................................... 170

Server Manager ........................................................................................................................................ 170

Server Roles ................................................................................................................................................ 170

Server Core ................................................................................................................................................. 171

Boot Configuration Data ................................................................................................................. 171

Manageable Applications ................................................................................................................ 171

Платформа для создания приложений .................................................................................. 172

Application Server Role .................................................................................................................... 172

.NET Framework 3.0 ............................................................................................................................ 172

Internet Information Services 7.0 ............................................................................................. 172

Windows Server Virtualization ................................................................................................... 173

Page 8: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

8 Оглавление

Базовые технологии ................................................................................................................................ 173

Restart Manager ...................................................................................................................................... 173

Windows Error Reporting .............................................................................................................. 174

Transactional NTFS .............................................................................................................................. 174

Next Generation TCP/IP Stack ................................................................................................... 174

Remote Differential Compression ........................................................................................... 175

Пул потоков ............................................................................................................................................. 175

Сертификация под Windows Server ........................................................................................... 175

Page 9: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Введение

IT�подразделения компаний постоянно испытывают «давление» со стороны

корпоративных пользователей. Такое давление может быть как положи�

тельным, так и отрицательным. К положительному давлению отнесем все,

что связано с улучшением продуктивности, добавлением новой функци�

ональности и расширением возможностей совместной работы. Обеспе�

чение этих требований занимает порядка 30% IT�бюджета. На оставшие�

ся 70% процентов приходятся запросы, связанные с обеспечением безо�

пасности, снижения затрат, обеспечения соответствия корпоративным

стандартам и т. п. Несмотря на то что стоимость аппаратного и программ�

ного обеспечения постоянно снижается, затраты на поддержку инфраструк�

туры постоянно растут — в мире тратится более 140 млрд. долл. на управ�

ление и поддержку инфраструктуры и только 6% из этой суммы прихо�

дится на закупки программного обеспечения.

Microsoft Windows Server 2008 — это серверная операционная систе�

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

гибкую и масштабируемую платформу для автоматизации различных биз�

нес�задач. Новые средства виртуализации, поддержка современных веб�

технологий и расширения в области безопасности, помогают сократить

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

снизить затраты на обслуживание и использовать платформу в качестве

основы для динамических центров обработки данных. Новые и расширен�

ные компоненты операционной системы, такие как Internet Information

Server 7.0 (IIS7), Windows Server Manager и Windows PowerShell, позволя�

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

и сопровождение. Расширения, связанные с безопасностью и надежнос�

тью, такие как Network Access Protection и Read�Only Domain Controller

делают операционную систему более защищенной и позволяют исполь�

зовать ее в качестве платформы для выполнения различных бизнес�задач.

Page 10: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

10 Введение

При выборе серверной операционной системы всегда следует обращать

внимание на ключевые сценарии, для реализации которых она предназ�

начена. В случае с новой серверной операционной системой Microsoft

Windows Server 2008, таких ключевых сценариев четыре: платформа для

веб�приложений, виртуализация, надежность и безопасность, а также плат�

форма для решения бизнес�задач различных классов.

Ключевые сценарии использования Windows Server 2008

Платформа для выполнениябизнес-задачWindows Server 2008 — это наиболее гибкая и надежная операционная сис�

тема в семействе операционных систем Windows Server. Новые технологии

и возможности, такие как Server Core, PowerShell, Windows Deploy�ment Services,

расширенные сетевые и кластерные технологии позволяют говорить о Win�

dows Server 2008 как о надежной и масштабируемой платформе для обеспе�

чения реализации ключевых бизнес�сценариев и выполнения бизнес�при�

ложений. Среди ключевых компонентов Windows Server 2008, обеспечива�

ющих платформу для выполнения бизнес�задач, выделим следующие:

� Server Manager — унифицированный механизм управления сервером,

построенный на основе Microsoft Management Console (MMC) и предо�

ставляющий в распоряжение IT�специалистов интегрированное реше�

ние для добавление, удаления и конфигурирования серверных ролей,

ролевых сервисов и дополнительных функций.

Page 11: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Введение 11

� Windows Deployment Services (WDS) представляет собой набор ком�

понентов, совместно работающих под управлением Windows Server 2008

и обеспечивающих механизмы упрощенного и надежного сетевого

развертывания операционных систем семейства Windows на компью�

терах без необходимости в ручной установке программного обеспече�

ния на каждый отдельный компьютер.

� Windows PowerShell — оболочка, расширяющая функциональность ко�

мандной строки и позволяющая выполнять пакетные программы и ути�

литы, написанные на скриптовом языке. Использование Windows Power�

Shell помогает IT�специалистам автоматизировать наиболее частые за�

дачи и получить более простой контроль над системой — как локаль�

ной, так и удаленной, развернутой, например, в филиале (branch office).

� Server Core — новая опция установки Windows Server 2008, включаю�

щая ограниченный набор ролей и соответствующих ролевых сервисов

и обеспечивающая более надежную и защищенную серверную платфор�

му, требующую минимальных затрат на обслуживание и установку об�

новлений.

В состав Windows Server 2008 входит новая реализация стека протоко�

лов TCP/IP, которая известна под названием «Next Generation TCP/IPStack». Стек протоколов TCP/IP нового поколения представляет собой

полностью переписанную функциональность TCP/IP, отвечающую совре�

менным требованиям к сетевым протоколам, коммуникационным меха�

низмам и технологиям.

Отказоустойчивые кластеры (Failover Cluster, ранее назывались Server

Clusters) представляют собой группу независимых компьютеров, работа�

ющих вместе для обеспечения высокой доступности приложений и сер�

висов. Реализованные в Windows Server 2008 улучшения в кластерных тех�

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

лать ее более защищенной и повысить стабильность решений на базе

отказоустойчивых кластеров.

Платформа для веб-приложенийWindows Server 2008 представляет собой мощную платформу для созда�

ния и выполнения веб�приложений и сервисов и позволяет компаниям

эффективно реализовывать различные веб�приложения. Выпуск Internet

Information Server 7.0 (IIS7) в составе Windows Server 2008 обеспечивает

улучшенное администрирование и диагностику, поддержку расширенных

средств разработки и снижение затрат на инфраструктуру. Полная модуль�

ная организация веб�сервера с возможностью создания собственных рас�

ширений решает ключевые бизнес�задачи, поддерживает хостинг прило�

жений и обеспечивает совместимость с уже существующими решениями.

Page 12: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

12 Введение

Технология совместной работы Microsoft Windows SharePoint Services

3.0 помогает организациям улучшить бизнес�процессы и увеличить про�

дуктивность командной работы. Богатый набор функциональности и ути�

лит обеспечивает сотрудников доступом к удаленным рабочим простран�

ствам (workspaces) и документам для совместной работы непосредствен�

но из веб�браузера, тем самым разрушая организационные и географи�

ческие границы.

Windows Media Services — набор сервисов для доставки потоковой ин�

формации с упрощенными средствами администрирования, настройки и

повышенной масштабируемостью.

ВиртуализацияВстроенные в Windows Server 2008 технологии виртуализации (Windows

Server virtualization, Hyper�V) позволяют компаниям снизить затраты, уве�

личить утилизацию аппаратных средств, оптимизировать инфраструкту�

ру и увеличить доступность серверов. Виртуализация в Windows Server

использует 64�битную платформу на основе гипервизора, что позволяет

увеличить надежность и масштабируемость. Виртуализация помогает орга�

низациям оптимизировать использование аппаратных ресурсов за счет

консолидации серверов. Помимо этого, виртуализация использует такие

компоненты платформы Windows Server 2008, как отказоустойчивые кла�

стеры для обеспечения высокой доступности и защиты доступа к сети —

Network Access Protection (NAP).

Гибкость работы мобильных сотрудников обеспечивается возможнос�

тью запуска приложений на удаленных компьютерах — это возможно бла�

годаря поддержке в Windows Server 2008 таких технологий, как Terminal

Services RemoteApp и Terminal Services Gateway.

Надежность и безопасностьWindows Server 2008 — самый защищенный сервер в семействе серверов

Windows Server. Безопасная операционная система и расширения в обла�

сти безопасности, включая Network Access Protection, Federated Rights

Management и Read�Only Domain Controller обеспечивают уровни защи�

ты данных, ранее отсутствовавшие в системе. В состав Windows Server 2008

включены такие средства безопасности, как расширенное шифрование,

средства аудита и ряд других, помогающих организациям защитить от

хищения данные, используя средства Rights Management Services, а также

технологии BitLocker и механизмы Group Policy.

Page 13: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Введение 13

Ключевые преимуществаи основные причины переходана Windows Server 2008Можно выделить ряд ключевых преимуществ Windows Server 2008 по срав�

нению с предыдущими версиями операционных систем семейства Windows

Server. К ним относятся:

� Надежная серверная платформа, обеспечивающая безопасность, управ�

ляемость, совместимость, быстрое время отклика и поддержку широ�

кого числа стандартов;

� Платформа, поддерживающая быстрое создание и развертывание ши�

рокого спектра приложений;

� Повышенная операционная эффективность и низкие затраты на под�

держание IT�инфраструктуры;

� Сетевые функции, управляемые политиками, улучшенные средства под�

держки филиалов и расширенные механизмы для конечных пользова�

телей;

� Платформа для прикладных решений, поддерживающая гибкость, ком�

муницируемость и богатые интерфейсные возможности;

� Платформа, предоставляющая более безопасную и надежную IT�инф�

раструктуру, помогающую компаниям решать бизнес�задачи.

Также отметим основные причины перехода на Windows Server 2008:

Windows Server Механизмы виртуализации и System Center

Virtualization Virtual Machine Manager

Платформа для корпора� Internet Information Services 7.0 (IIS7), ASP.NET,

тивных приложений Windows Communication Foundation, Microsoft

и веб�решений Windows SharePoint Services

Улучшенная сетевая Интеграция IPSec и новой версии Windows Firewall

производительность

Улучшенная безопасность Расширенные средства аудита, Drive Encryption,

и поддержка стандартов перенаправление событий, Rights Management

Services

Управление филиалами Active Directory, включая Read�Only Domain

Controller и поддержку BitLocker и Server Core

Упрощенное Server Management Console

управление сервером

Page 14: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

14 Введение

Расширения в автомати� Windows PowerShell с более чем 120 стандартными

зации и поддержке утилитами и возможностью включения расширений

выполнения сценариев

Централизованный Terminal Services, Remote Applications и Terminal

доступ к приложениям Services Gateway

Защита доступа к сети Network Access Protection (NAP)

Совместная работа Единое использование ряда технологий в области

с Windows Vista сетевой поддержки, хранения, безопасности

и управления

Аппаратные требованияВ следующей таблице показаны основные аппаратные требования для всех

изданий операционной системы Windows Server 2008.

Издание Минималь Число под- Пространст- Память Права наопераци- ная скорость держивае- во на диске использо-онной процессора мых про- вание вир-системы цессоров туальных

образов

Windows 1 ГГц До 4 8 ГБайт 512 1Server 2008 Мбайт

StandardEdition

Windows 1 ГГц До 8 8 Гбайт 512 4Server 2008 Мбайт

EnterpriseEdition

Windows 1 ГГц До 32 8 Гбайт 512 Не ограниServer 2008 на плат� Мбайт ченоDatacenter форме x86

Edition До 64

на плат�

форме x64

и Itanium

Windows 1 ГГц До 4 8 Гбайт 512 Не поддерServer 2008 Мбайт живаетсяWeb Edition

Windows 1 ГГц До 64 8 ГБайт 512 Не ограниServer 2008 Мбайт ченоItaniumIA64 Edition

Page 15: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1

Сервернаяоперационная система.Основные понятия

Page 16: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Наше знакомство с Windows Server 2008 начнем с обсуждения основных

понятий, связанных с серверной операционной системой. Таких понятий

четыре — классификация сервера (workload), роль (role), ролевые серви�

сы (role services) и дополнительные функции (features).

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

серверов в организации, поддерживаемое одной или более ролью. К клас�

сификации относятся поддержка сетевых функций, доступа к сети, тер�

минальные сервисы, сервисы баз данных, хранения, кластеризации, вы�

сокопроизводительные вычисления, виртуализация, защита данных, веб�

сервисы, сервер приложений, управление доступом и т. п.

Роль описывает основную функциональность сервера. Имеется возмож�

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

либо установки нескольких серверных ролей на одном компьютере.

Каждая роль может включать один или несколько ролевых сервисов —

специфичных сервисов, используемых для поддержки функциональнос�

ти той или иной роли. Ролевые сервисы являются подмножеством роли и

уникальны для конкретной серверной роли.

Дополнительные функции обычно не относятся к основной функцио�

нальности сервера и используются для реализации дополнительных воз�

можностей сервера. Взаимоотношение классификации, роли, ролевых

сервисов и дополнительных функций показано ниже.

В Windows Server 2008 сервер может выполнять следующие роли:

Active Directory Domain Services Active Directory Lightweight Directory

Services

Active Directory Federation Services Active Directory Rights Management

Services

Page 17: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1 Серверная операционная система. Основные понятия 17

Active Directory Certificate Server Network Access Services

Application Server DHCP Server

DNS Server Fax Server

File Server Media Server

Print Server Terminal Services

UDDI Services Virtual Server

Web Server (IIS) Windows Deployment Services

Windows Media Services Windows SharePoint Services

Рассмотрим эти роли более подробно.

� Active Directory Certificate Services (AD CS) — позволяет создавать

и управлять цифровыми сертификатами для пользователей, компьюте�

ров и организаций, представляя собой часть инфраструктуры поддер�

жки публичных ключей (public key).

� Active Directory Domain Services (AD DS) — хранит информацию

о сетевых объектах и делает эту информацию доступной пользовате�

лям и сетевым администраторам. Для своей работы AD DS использует

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

сурсов в любой точке сети.

� Active Directory Federation Services (AD FS) — обеспечивает упро�

щенный, зашифрованный способ передачи идентификационной инфор�

мации и поддержку единого доступа к ресурсам (Web single sign�on, SSO).

� Active Directory Lightweight Directory Services (AD LDS) — предо�

ставляет хранилище для данных, требуемых определенным классом при�

ложений.

Active Directory Rights Management Services (AD RMS) — может ис�

пользоваться для защиты информации от несанкционированного досту�

па. Active Directory Rights Management Services — это технология защиты

информации, которая используется соответствующим классом приложе�

ний. Владельцы информации могут указывать, как пользователи могут ис�

пользовать информацию — кто может открывать, модифицировать, рас�

печатывать, пересылать и/или выполнять другие операции над данными.

� Dynamic Host Configuration Protocol (DHCP) Server — обеспечивает

централизованную конфигурацию и управление временными IP�адресами

и соответствующей информацией для клиентских компьютеров.

� Domain Name System (DNS) Server — транслирует доменные и ком�

пьютерные DNS�имена в IP�адреса. Такой сервер более прост в управ�

лении, если он установлен на том же сервере, что и доменные серви�

сы Active Directory Domain Services.

� Fax Server — отсылает и принимает факсовые сообщения и позволя�

ет управлять ресурсами факса — задачами, настройками, отчетами, а так�

же локальными и сетевыми факсовыми устройствами.

Page 18: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

18 Глава 1 Серверная операционная система. Основные понятия

� File Server — предоставляет технологии для управления хранилищами,

репликации файлов, распределенного управления пространством, быст�

рого поиска файлов и клиентского доступа к файловой системе сервера.

� Terminal Services — предоставляет технологии, обеспечивающие до�

ступ к серверу, выполняющему Windows�приложения или полной сре�

де Windows. Пользователи соединяются с терминальным сервером для

запуска приложений, сохранения файлов и использования сетевых

ресурсов сервера.

� Network Access Services — поддерживает роутинг сетевого трафика

через LAN и WAN, создание и применение правил сетевого доступа

(network access policies) и доступ к сетевым ресурсам через VPN�соеди�

нения и dial�up.

� Print Services — управляет сетевыми принтерами и драйверами, пре�

доставляя соответствующие сервисы.

� Web Server — надежная, управляемая, масштабируемая инфраструктура

для выполнения веб�приложений и сервисов.

� Windows Deployment Services (WDS) — позволяет быстро и безопас�

но развернуть на компьютерах системы на базе операционной систе�

мы Windows, используя сетевые установки без необходимости привле�

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

или установки компонентов Windows с CD или DVD.

� Windows Media Services — поставляет непрерывный поток цифрой

аудио� и видеоинформации для клиентов внутри сети.

� Windows SharePoint Services — облегчает создание сайтов, на кото�

рых пользователи могут совместно работать над документами, задача�

ми, событиями, обмениваться контактной и другой информацией.

� Universal Description, Discovery, and Integration (UDDI) Services —

используется для обеспечения функций каталогизации веб�сервисов и

других программных ресурсов. Сайт UDDI Services состоит из специ�

ального приложения — UDDI Web Application, связанного с базой дан�

ных UDDI Database.

В следующей таблице перечислены дополнительные функции, доступ�

ные в Windows Server 2008.

Windows Activation Services (WAS) Background Intelligent Transfer Service

(BITS) Server Extensions

BitLocker Drive Encryption Desktop Experience

Failover Clustering Windows Server Backup

Internet Storage Naming Server Line Print Remote (LPR) Port Monitor

Microsoft Message Queuing Remote Assistance

(MSMQ) Services

Removable Storage Manager RPC over HTTP Proxy

Page 19: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1 Серверная операционная система. Основные понятия 19

Simple Mail Transfer Protocol SNMP Service

(SMTP) Server

Storage Manager for Storage Simple TCP/IP Services

Area Networks (SANs)

Subsystem for UNIX�based Telnet Client

application

Telnet Server TFTP Client

Windows Internal Database Windows Internal Naming Service (WINS)

Server

Windows Network Load Balancing Windows System Resource Manager (WSRM)

Windows Foundation Wireless LAN Service

Components for WinFX

SQL Server Embedded

Edition (Windows)

Рассмотрим эти дополнительные функции более подробно.

� Background Intelligent Transfer Service (BITS) Server Extensions —

позволяет BITS�серверу получать загруженные клиентами файлы. Этот

компонент не требуется для предоставления клиентам возможности заг�

рузки файлов с BITS�сервера.

� Windows BitLocker Drive Encryption — аппаратная система обеспече�

ния безопасности, позволяющая реализовать шифрование на уровне томов.

� Desktop Experience — включает ряд функций Windows Vista, таких как

Windows Media Player, темы для рабочего стола и управление фотогра�

фиями.

� Internet Storage Naming Server (iSNS) — обрабатывает запросы на

регистрацию, отмену регистрации и запросы к iSCSI�устройствам.

� Line Printer Remote (LPR) Port Monitor — позволяет выводить ин�

формацию на устройства печати, присоединенные к компьютерам, ра�

ботающим под управлением операционной системы UNIX.

� Message Queuing (также называется MSMQ) позволяет приложениям

общаться между собой через гетерогенные сети и системы, которые могут

временно находиться в режиме offline. MSMQ обеспечивает гарантиро�

ванную доставку сообщений, эффективное перенаправление сообщений,

безопасность и пересылку сообщений на основе приоритетов.

� Multipath I/O — обеспечивает поддержку использования различных

механизмов адресации для устройств хранения.

� Removable Storage Manager — управляет сменными носителями и ус�

тройствами, поддерживающими такие носители.

� Remote Assistance — позволяет удаленным пользователям подсоеди�

няться к данному компьютеру для непосредственного решения возник�

ших на компьютере проблем.

Page 20: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

20 Глава 1 Серверная операционная система. Основные понятия

� Remote Procedure Call (RPC) over HTTP Proxy — перенаправляет

RPC�трафик от клиентских приложений через HTTP на сервер в каче�

стве альтернативы для клиентов, обращающихся к серверу через VPN�

соединение.

� Simple Mail Transfer Protocol (SMTP) Server — обеспечивает под�

держку передачи электронной почты между серверами.

� Storage Manager for Storage Area Networks (SAN) — поддерживает

сети класса SAN, соответствующие требованиям VDS.

� Subsystem for UNIX�based Applications (SUA) — позволяет выпол�

нять UNIX�приложения и выполнять администрирование системы не�

посредственно из командной сроки UNIX.

� Telnet Client — использует протокол Telnet для соединения с удален�

ным Telnet�сервером и выполнения приложений на этом сервере.

� Telnet Server — позволяет удаленным пользователям выполнять пакет�

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

Telnet, включая клиентов, выполняемых на UNIX�системах.

� Trivial File Transfer Protocol (TFTP) Client — позволяет передавать

файлы через сервер TFTP.

� Windows Activation Service (WAS) — обеспечивает поддержку сре�

ды для .NET�процессов и конфигурационных функций.

� Failover Clustering — обеспечивает высокую доступность различных

серверных ролей и приложений, которые имеют сохраняемые состоя�

ния — таких как файловые сервисы, SQL Server и т. п. за счет использо�

вания отказоустойчивых кластеров на основе разделяемых дисков.

� Windows Foundation Components for WinFX — поддерживает при�

ложения, созданные с использованием компонентов .NET Framework 3.0.

� Windows Internal Database — использует SQL Server 2005 Embedded

Edition (Windows) в качестве реляционного хранилища данных для

ролей Windows, включая Windows SharePoint Services, Active Directory

Rights Management Services, UDDI Services или Windows Server Update.

� Windows Internet Name Service (WINS) — позволяет компьютерам,

работающим под управлением Windows, обнаруживать в подсетях другие

компьютеры, использующие NetBIOS.

� Wireless Networking — конфигурирует беспроводные соединения и

соответствующие профили беспроводных сетей.

� Windows Network Load Balancing (WNLB) — распределяет прихо�

дящие прикладные запросы среди групп серверов, на которых находятся

экземпляры приложения.

� Windows Server Backup — позволяет восстанавливать состояние опе�

рационной системы, файлов, папок и данных приложений за счет пери�

одического создания «снимков» полного сервера или выбранных томов.

Page 21: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1 Серверная операционная система. Основные понятия 21

Server ManagerДля управления ролями, ролевыми сервисами и дополнительными функ�

циями в Windows Server 2008 используется специальная MMC�консоль,

называемая Server Manager. Эта консоль пришла на смену ряду утилит,

входивших в состав Windows Server 2003 — Manage Your Server, Configure

Your Server и Add or Remove Windows Components. Использование Server

Manager также позволяет отказаться от необходимости запуска «мастера»

Security Configuration Wizard перед развертыванием серверов — все сер�

верные роли сконфигурированы с рекомендованными настройками бе�

зопасности и готовы к непосредственному развертыванию сразу после ус�

тановки и настройки.

В состав Server Manager входит набор «мастеров» для добавления ро�

лей, ролевых сервисов, дополнительной функциональности, а также уда�

ления соответствующих компонентов — Add Roles Wizard, Add Role Services

Wizard, Add Features Wizard, Remove Roles Wizard, Remove Role Services

Wizard и Remove Features Wizard.

Server Manager позволяет управлять практически всеми аспектами сер�

вера — устанавливать и удалять роли и дополнительные функции, добав�

лять ролевые сервисы, запускать и останавливать сервисы, управлять ло�

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

Server CoreWindows Server 2008 — первая версия серверной операционной системы

семейства Windows, в которой администраторы могут выбрать установку

Windows Server с минимальным набором функциональности. Эта возмож�

ность сокращает набор ролей, доступных на сервере, но существенно

улучшает безопасность и упрощает управление сервером. Такой тип уста�

новки сервера называется ядром сервера (Server Core).

Как минимальная установка, Server Core обеспечивает среду для функ�

ционирования серверных ролей, среди которых ключевыми являются:

Dynamic Host Configuration Protocol (DHCP) Server, Domain Name System

(DNS) Server. File Server и Domain Controller.

Все перечисленные роли устанавливаются с помощью пакетной утилиты

ocsetup. Например:

Серверная роль Команда Ocsetup

DNS Server start /w ocsetup DNS�Server�Core�Role

DHCP Server start /w ocsetup DHCPServerCore

Page 22: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

22 Глава 1 Серверная операционная система. Основные понятия

Серверная роль Команда Ocsetup

File Server File Replication service

� start /w ocsetup FRS�Infrastructure

Distributed File System

� start /w ocsetup DFSN�Server

Distributed File System Replication

� start /w ocsetup DFSR�Infrastructure�ServerEdition

Network File System

� start /w ocsetup ServerForNFS�Base

� start /w ocsetup ClientForNFS�Base

Single Instance Store

� start /w ocsetup SIS

Удаление роли Опция /uninstall

Для роли Active Directory используется утилита Dcpromo с опцией

/unattend:Unattendfile.

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

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

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

тек. Например, пользовательский интерфейс Windows Explorer («shell») не

является частью Server Core — интерфейсом по умолчанию является ко�

мандная строка.

Ниже показана архитектура Server Core.

Среди дополнительных функций, которые можно реализовать в рам�

ках Server Core, выделим следующие:

Page 23: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1 Серверная операционная система. Основные понятия 23

� Microsoft Cluster Server;

� Network Load Balancing;

� Subsystem for UNIX�based applications;

� Backup;

� Multipath IO;

� Removable Storage Management;

� BitLocker Drive Encryption;

� SNMP.

Отметим, что следующие функции требуют соответствующей аппарат�

ной поддержки:

� Failover Cluster;

� Network Load Balancing;

� Multipath IO;

� Removable Storage;

� Bitlocker Drive Encryption.

Для установки дополнительных функций также используется пакетная

утилита ocsetup. В следующей таблице показаны параметры этой утили�

ты для установки различных дополнительных функций для Server Core.

Дополнительная функция Параметры утилиты ocsetup

Failover Cluster start /w ocsetup FailoverCluster�Core

Network Load Balancing start /w ocsetup

NetworkLoadBalancingHeadless

Server

Subsystem for UNIX�bases start /w ocsetup SUA

applications

Multipath IO start /w ocsetup Microsoft�Windows�

MultipathIO

Removable Storage Management start /w ocsetup Microsoft�Windows�

RemovableStorageManagementCore

Bitlocker Drive Encryption start /w ocsetup BitLocker

Backup start /w ocsetupWindowsServerBackup

Simple Network Management start /w ocsetup SNMP�SC

Protocol (SNMP)

Существует несколько вариантов управления Server Core. В локальном

режиме используется командная строка (CMD) и пакетные утилиты. Так�

же возможно использование Terminal Server и CMD, удаленное выполне�

ние команд через WS�Management (на клиенте требуется установка Windows

Vista или Windows Server 2008) WMI, использование Task Scheduler для

Page 24: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

24 Глава 1 Серверная операционная система. Основные понятия

задания работ и задач, использование систем протоколирования Event

Logging и Event Forwarding, RPC и DCOM для удаленной поддержки MMC,

SNMP и ряд других.

Среди ограничений Server Core отметим отсутствие поддержки .NET�

кода (managed code), отсутствие графического интерфейса — только CMD,

отсутствие поддержки команды Runonce.

Предполагается, что использование Server Core, помимо указанной выше

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

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

вере примерно на 60% (по сравнению с Windows 2000).

Выше мы рассмотрели основные понятия, связанные с серверной опе�

рационной системой, роли, которые может выполнять Windows Server 2008,

сервисы, а также дополнительные функции, доступные в этой операци�

онной системе. Мы также начали рассмотрение Server Core — варианта ус�

тановки Windows Server с минимальным набором функциональности.

Напомним основные ограничения при разработке приложений, кото�

рые должны работать под управлением Server Core: поддерживается ин�

терфейс только на уровне командной строки (отсутствует Windows Shell),

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

должны использовать только Windows API, и поддержка MSI осуществля�

ется только в режиме unattend mode. В целом, Server Core предполагает

выполнение приложений, обеспечивающих функционирование сетевых

и файловых сервисов, средств управления сервером и соответствующих

утилит. При установке Server Core разработчикам становятся доступны

только те программные интерфейсы, которые реализованы на уровне

входящих в состав операционной системы программных компонентов. Эти

компоненты и их назначение показаны в следующей таблице.

Технология Установленные DLL Назначение

Active Directory activeds.dll Интерфейсы Active Directory

Service (ADSI)

ntdsapi.dll Управление контроллером домена

и репликацией

Application cabinet.dll Функции управления CAB�файлами

Installation

imagehlp.dll Функции работы с файлами

в формате Portable Executable (PE)

msi.dll Функции установки приложений

setupapi.dll Функции установки приложений

sxs.dll Функции поддержки режима

side�by�side

Authentication advapi32.dll Управление аутентификацией

Security через HTTP и учетными записями

Page 25: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1 Серверная операционная система. Основные понятия 25

Технология Установленные DLL Назначение

credui.dll Управление учетными записями

crypt32.dll Набор программных интерфейсов

для поддержки криптографии

cryptdll.dll Функции поддержки Cryptography

Manager

cryptnet.dll Поддержка защищенных каналов

(сертификаты X.509)

cryptui.dll Управление учетными записями

netapi32.dll Библиотека функций Microsoft Net API

schannel.dll Поддержка защищенных каналов

(сертификаты X.509)

secur32.dll Библиотека функций Microsoft

Security Services

wintrust.dll Функции каталога

DHCP dhcpsvc.dll Библиотека поддержки сервисов

DHCP — Dynamic Host Configuration

Protocol

DNS dnsapi.dll Библиотека функций поддержки DNS

General authz.dll Поддержка защищенных RPC�вызовов

Networking

iphlpapi.dll Набор функций Internet Protocol

Helper (IP Helper)

mgmtapi.dll Управление SNMP

mpr.dll Набор функций поддержки Windows

Networking mprapi.dll Функции поддержки RAS и админист�

(WNet) рирования роутера

mswsock.dll Функции поддержки Winsock

netsh.exe Функции поддержки NetShell

rpcrt4.dll Ядро RPC NDR

rtutils.dll Функции трассировки Remote RAS

security.dll Функции безопасности для Remote RAS

snmpapi.dll Поддержка SNMP

traffic.dll Контроль трафика

httpapi.dll Функции поддержки HTTP

winhttp.dll Функции поддержки HTTP

Server Clustering clusapi.dll Функции поддержки механизмов

кластеризации

resutils.dll Дополнительные функции поддержки

кластеризации

User Interface mlang.dll Поддержка нескольких языков

интерфейса

Page 26: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

26 Глава 1 Серверная операционная система. Основные понятия

Технология Установленные DLL Назначение

msctf.dll Функции для Text Services

Framework (TSF)

shell32.dll Поддержка оболочки операционной

системы

shlwapi.dll Библиотека поддержки UNC и URL,

реестра и т. п.

Windows clfsw32.dll Поддержка протоколирования

System Services

dbghelp.dll Поддержка отладчика

dciman32.dll Поддержка графики

fltlib.dll Функции управления драйверами

мини�фильтров

fltmgr.sys Функции управления драйверами

мини�фильтров

gdi32.dll Часть ядра операционной системы,

отвечающая за графические функции

kernel32.dll Ядро операционной системы Windows

mstask.dll Планировщик задач

ntdll.dll Внутренние функции ядра операци�

онной системы Windows

ole32.dll Функции управления объектами

oleaut32.dll Функции управления объектами

pdh.dll Функции мониторинга

производительности

powrprof.dll Функции управления источниками

питания

psapi.dll Функции мониторинга

производительности

pstorec.dll Интерфейсы к системе защиты

хранилищ данных

sfc.dll Функции поддержки подсистемы

Windows File Protection

srclient.dll Функции восстановления системы

user32.dll Часть ядра операционной системы,

отвечающая за взаимодействие

с пользователями

userenv.dll Поддержка пользовательских профилей

verifier.dll Функции мониторинга

производительности

version.dll Функции поддержки версионности

vssapi.dll Поддержка Volume Shadow Copy

winsta.dll Внутренние функции ядра

операционной системы Windows

Page 27: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 1 Серверная операционная система. Основные понятия 27

Дополнительную информацию по функциям, поддерживаемым в Server

Core, можно получить на сайте MSDN Library по адресу http://msdn2.microsoft.

com/en�us/library/ms723894.aspx (Server Core Functions by DLL).

Для того чтобы определить, запущено ли приложение под Server Core

или под какой�то другой конфигурацией, следует использовать функцию

GetProductInfo из Kernel32.dll, которая доступна только в Windows Vista и

Windows Server 2008. Если приложение запущено под Server Core, то пе�

ременная pdwReturnedProductType будет иметь одно из следующих зна�

чений, в зависимости от варианта поставки Windows Server 2008:

� PRODUCT_STANDARD_SERVER_CORE (0x0000000D)

� PRODUCT_ENTERPRISE_SERVER_CORE (0x0000000E)

� PRODUCT_DATACENTER_SERVER_CORE (0x0000000C)

Второй вариант — использовать WMI�класс Win32_OperatingSystem и

его свойство OperatingSystemSKU, которое в нашем случае должно иметь

одно из следующих значений:

� 12 для Datacenter Server Core Edition

� 13 для Standard Server Core Edition

� 14 для Enterprise Server Core Edition

И, наконец, еще один способ проверки работы под Server Core — это

определение наличия в локальной системе такого компонента, как Explo�

rer.exe: если такого компонента нет — мы запущены под Server Core. Для

этого можно использовать скрипт наподобие того, что показан ниже.

Dim bServerCore, bExplorer

Const strExplorer = «\explorer.exe»

strRoot = WshEnv(«SYSTEMROOT»)

strExpPath = strRoot + strExplorer

Set objFSO = CreateObject(“Scripting.FileSystemObject”)

If objFSO.FileExists(strExpPath) Then

‘Explorer.exe найдет – работаем не под Server Core

WScript.Quit (0)

bServerCore = False

bExplorer = True

Else

bServerCore = True

bExplorer = False

End If

Рассмотрим некоторые вопросы, связанные с миграцией существующих

приложений под Server Core, а также вопросы создания приложений, ра�

ботающих под управлением Server Core.

Для миграции существующих утилит под Server Core необходимо заме�

нить весь управляемый код на т. н. native code, удалить все вызовы функ�

Page 28: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

28 Глава 1 Серверная операционная система. Основные понятия

ций, которые не поддерживаются в Server Core (см. приведенную выше

ссылку на MSDN Library), удалить все зависимости от графического интер�

фейса — утилиты должны работать только в режиме командной строки,

удалить все интерактивные компоненты. Для удаленного управления сис�

темой следует использовать протоколы, поддерживаемые Server Core, на�

пример RPC.

При разработке новых утилит для Server Core следует помнить о том,

что это — не платформа для создания приложений, а конфигурация сер�

вера, поддерживающая выполнение управляющих утилит, агентов, анти�

вирусов и т. п. Такие утилиты могут выполняться локально (в командной

строке), под Terminal Services, для удаленного выполнения команд можно

использовать Web Services for Management (WS�Management). Обеспечи�

вается поддержка Windows Management Instrumentation (WMI), выполне�

ние заданий по расписанию (Task Scheduler), протоколирование событий

и их перенаправление (event forwarding). Также на уровне Server Core

обеспечена поддержка удаленной MMC�консоли через RPC и DCOM и

протокола SNMP.

При создании скриптовых утилит в качестве основы можно использо�

вать скрипты для управления Server Core, которые расположены в катало�

ге \Windows\System32\Sfscripts.

Отметим, что к приложениям, которые планируют пройти сертифика�

цию на получение логотипа «Certified for Windows Server 2008», выдвига�

ются следующие требования:

� Отсутствие зависимостей от компонента Common Dialog Box;

� Отсутствие зависимостей от Shell и Shell API;

� Отсутствие компонентов на управляемом коде;

� При установке приложения должны поддерживаться опции командной

строки;

� Приложения не должны иметь зависимости от мультимедийных ком�

понентов;

� Приложения не должны использовать беспроводные сети.

Отметим, что требования к приложениям, претендующим на получе�

ние логотипа «Certified for Windows Server 2008» можно скачать по адресу

http://microsoft.mrmpslc.com/InnovateOnWindowsServer/CertifiedForLogoProgra

m.aspx.

Page 29: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 2

Основные новинкина уровне ядраоперационной системы

Page 30: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Продолжим наше знакомство с Windows Server 2008. Ниже мы рассмот�

рим несколько новинок, появившихся в этой версии операционной сис�

темы на уровне ядра. К ним, в частности, относятся: транзакционная фай�

ловая система (доступная также в ограниченном виде в Windows XP и в

полноценном — в Windows Vista), транзакционный реестр, удаленное сжа�

тие (Remote Differential Compression, RDC), новинки в Task Scheduler API,

Windows Remote Management, Boot Configuration Data (BCD), а также на�

помним о технологиях Windows Error Reporting, Windows Restart Manager

и Application Recovery and Restart.

Транзакционная файловая системаТранзакционная файловая система (TxF) — это расширение файловой си�

стемы NTFS, позволяющее выполнять файловые операции над томом фай�

ловой системы NTFS в рамках транзакций. Это стало возможным благо�

даря новой транзакционной инфраструктуре, реализованной на уровне

ядра операционной системы, позволяющей сервисам операционной сис�

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

транзакций Kernel Transaction Manager (KTM). Помимо этого, в обеспече�

нии функционирования транзакционной файловой системы задействована

подсистема протоколирования Common Log File System (CLFS), впервые

реализованная в Microsoft Windows Server 2003 R2. Взаимодействие этих

компонентов показано на следующем рисунке.

Использование транзакционной файловой системы делает возможным

выполнение следующих типовых сценариев. За счет того, что TxF способна

полностью коммуницировать с MS Distributed Transaction Coordinator (DTC),

она имеет возможность участвовать в транзакциях, использующих не толь�

ко менеджеры ресурсов, предоставляемые Kernel Transaction Manager, но

и другие менеджеры ресурсов, поддерживаемые на уровне DTC. Например,

система документооборота может использовать эту возможность для ра�

боты как с файловой системой, так и с базой данных — и все в рамках

одной транзакции. Другой пример использования транзакционной фай�

ловой системы — обновление файлов на группе компьютеров. А за счет

расширений в протоколе совместного доступа к файлам и папкам — SMB

2.0 — появилась возможность использования в транзакциях распределен�

ных файловых операций, например при работе с клиентами под управ�

лением Windows Vista.

Отметим, что TxF не поддерживает операции над зашифрованной фай�

ловой системой (Encrypted File System, EFS) за исключением операций

чтения (например, ReadEncryptedFileRaw).

Page 31: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 2 Основные новинки на уровне ядра операционной системы 31

Компоненты транзакционной файловой системы

Транзакционная файловая система предоставляет разработчикам набор

новых функций, которые перечислены в следующей таблице.

CopyFileTransacted CreateDirectoryTransacted

CreateFileTransacted CreateHardLinkTransacted

CreateSymbolicLinkTransacted DeleteFileTransacted

FindFirstFileNameTransactedW FindFirstFileTransacted

FindFirstStreamTransactedW GetCompressedFileSizeTransacted

GetFileAttributesTransacted GetFullPathNameTransacted

GetLongPathNameTransacted MoveFileTransacted

RemoveDirectoryTransacted SetFileAttributesTransacted

В качестве одного из параметров при вызове перечисленных выше

функций указывается ссылка на транзакцию, в рамках которой выполня�

ется данная операция. Транзакция может быть создана либо вызовом фун�

кции CreateTransaction при использовании Kernel Transaction Manager или

функции GetKTMHandle при использовании DTC.

Появление транзакционной файловой системы привело к внесению ряда

изменений в работу некоторых функций — CloseHandle, CreateFileMapping,

FindNextFile, GetFileInformationByHandle, GetFileInformationByHandleEx, Get�

FileSize, GetFileSizeEx, GetVolumeInformation, MapViewOfFile, MapViewOfFile�

Ex, ReadDirectoryChangesW, ReadFile, ReadFileEx, ReadFileScatter, SetEndOf�

File, WriteFile, WriteFileEx и WriteFileGather. В MSDN Library в разделе «FileIO

Functions and Transactional NTFS» подробно расписаны изменения, привне�

сенные в эти функции TxF.

Последовательность действий при транзакционной работе с файловой

системой может быть следующей:

1. Создание транзакции на уровне ядра.

IntPtr tx = CreateTransaction(IntPtr.Zero, IntPtr.Zero, 0, 0, 0, 0, null);

Page 32: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

32 Глава 2 Основные новинки на уровне ядра операционной системы

2. Транзакционное удаление файла.

if (!DeleteFileTransactedW(file1, tx))

3. Завершение транзакции при успешном выполнении п. 2.

CommitTransaction(tx);

4. Откат транзакции при ошибке.

RollbackTransaction(tx);

5. Закрытие ссылки на транзакцию.

CloseHandle(tx);

Транзакционный реестрПо аналогии с файловой системой, операции над реестром также могут

выполняться в рамках транзакций. Это стало возможным благодаря меха�

низму, расширяющему набор функций Registry API — Transactional Registry

(TxR) и использующему упомянутый выше менеджер транзакций на уровне

ядра — Kernel Transaction Manager. Как и в случае с транзакционной фай�

ловой системой, TxR может использовать и менеджер ресурсов, предос�

тавляемый DTC. Возможный сценарий использования данной функцио�

нальности — транзакционная работа с базами данных, файловой систе�

мой и операциями с реестром. К функциям для работы с реестром, под�

держивающим транзакции, относятся: RegCreateKeyTransacted, RegDeleteKey

Transacted и RegOpenKeyTransacted. Как и в случае с функциями, поддер�

живающими транзакционную файловую систему, требуется указание ссыл�

ки на транзакцию, созданную либо средствами KTM, либо DTC. Последо�

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

быть следующей (на примере удаления ключа реестра):

1. Создание транзакции на уровне ядра.

IntPtr tx = CreateTransaction(IntPtr.Zero, IntPtr.Zero, 0, 0, 0, 0, null);

2. Транзакционное удаление ключа реестра.

if (RegDeleteKeyTransacted(HKEY_CURRENT_USER,

key1, RegSam.KEY_WOW64_32KEY, 0, tx, IntPtr.Zero) != 0)

3. Завершение транзакции при успешном выполнении п. 2.

CommitTransaction(tx);

4. Откат транзакции при ошибке.

RollbackTransaction(tx);

Page 33: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 2 Основные новинки на уровне ядра операционной системы 33

5. Закрытие ссылки на транзакцию.

CloseHandle(tx);

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

системой и реестром мы использовали функцию CreateTransaction, предо�

ставленную Kernel Transaction Manager (Ktmw32.dll). Как мы отметили выше,

также можно использовать и транзакции на уровне DTC . Первое, что не�

обходимо сделать в этом случае, получить ссылку на KTM�транзакцию сред�

ствами DTC. Для этого мы будем использовать новый интерфейс — IKernel�

Transaction, который служит связующим звеном между DTC и KTM при

выполнении транзакционных операций. Для получения ссылки на тран�

закцию нам нужно реализовать метод GetHandle. Как это сделать на уп�

равляемом коде, показано ниже.

[ComImport]

[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]

[Guid(“79427A2B�F895�40e0�BE79�B57DC82ED231”)]

internal interface IKernelTransaction

{

void GetHandle([Out] out IntPtr handle);

}

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

код:

// Используем пространство имен System.Transactions

IKernelTransaction tx = (IKernelTransaction)

TransactionInterop.GetDtcTransaction(Transaction.Current);

IntPtr txh;

tx.GetHandle(out txh);

После этого мы используем полученную ссылку в транзакционных

операциях и завершаем работу вызовом функции CloseHandle(txh).

Процессы и потокиКак известно, с точки зрения операционной системы, приложение пред�

ставляет собой один или более процессов. Процесс (process) — это испол�

няемая программа. Каждый процесс обеспечивает ресурсы, необходимые

для выполнения программы. Процесс состоит из виртуального адресно�

го пространства, исполняемого кода, ссылок (handles) на открытые сис�

темные объекты, контекста безопасности, уникального идентификатора

процесса (process id), переменных среды, класса приоритетов, минималь�

ного и максимального значения выделяемых ресурсов (working set), а также

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

Page 34: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

34 Глава 2 Основные новинки на уровне ядра операционной системы

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

необходимости процесс может создавать дополнительные потоки.

Поток (thread) — это единица, используемая операционной системой,

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

кода процесса, включая части, выполняемые в другом потоке. Все потоки

используют единое виртуальное адресное пространство и системные ре�

сурсы. Помимо этого, каждый поток поддерживает собственные обработ�

чики исключений, приоритеты выполнения, локальные хранилища, уни�

кальный идентификатор потока (thread id) и набор структур, используе�

мых системой для сохранения контекста при переключении потоков.

Контекст потока содержит набор машинных регистров для потока, стек

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

ном пространстве потока. В операционной системе Microsoft Windows

используется т. н. преимущественная поддержка многозадачности (pree�

mptive multitasking), с помощью которой создается эффект одновремен�

ного выполнения нескольких потоков в рамках нескольких процессов.

Нить (fiber) — это единица выполнения, выделяемая самим приложе�

нием. Нити выполняются в контексте потоков, которые управляют ими и

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

одной нити.

Новинкой в клиентской операционной системе Microsoft Windows Vista

и серверной операционной системе Microsoft Windows Server 2008 явля�

ется улучшенная реализация механизма пула потоков (thread pool), с по�

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

потоков, которые могут эффективно обрабатывать асинхронные косвен�

ные вызовы (asynchronous callbacks), получаемые приложениями. Пул

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

эффективного управления рабочими потоками. Приложения, использую�

щие соответствующие программные интерфейсы (см. ниже), могут созда�

вать очереди рабочих потоков, ассоциировать задачи со ссылками ожи�

дания (waitable handles), заполнять очереди по таймеру, связывать очере�

ди с процессами ввода/вывода и т. п. Приложения могут использовать пул

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

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

большого числа небольших асинхронных элементов, например при

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

сетевых операций;

� Использование пула потоков может упростить задачу управления по�

токами для приложений, создающих и удаляющих большое число по�

токов, каждый из которых существует относительно короткое время ;

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

нения фоновых задач.

Page 35: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 2 Основные новинки на уровне ядра операционной системы 35

В следующей таблице показаны новые программные интерфейсы, под�

держивающие потоки задач.

Задача Программные интерфейсы

Синхронизация CloseThreadpoolWait,

CreateThreadpoolWait,

SetThreadpoolWait,

WaitForThreadpoolCloseThreadpoolWork,

CreateThreadpoolWork,

WaitCallbacks

Выполнение SubmitThreadpoolWork,

TrySubmitThreadpoolCallback,

WaitForThreadpoolWorkCallbacks

Таймер CloseThreadpoolTimer,

CreateThreadpoolTimer,

IsThreadpoolTimerSet,

SetThreadpoolTimer,

WaitForThreadpoolTimerCallbacks

Ввод/вывод CancelThreadpoolIo,

CloseThreadpoolIo,

CreateThreadpoolIo,

StartThreadpoolIo,

WaitForThreadpoolIoCallbacks

Очистка группы CloseThreadpoolCleanupGroup,

CloseThreadpoolCleanupGroupMembers,

CreateThreadpoolCleanupGroup

Управление пулом CloseThreadpool,

CreateThreadpool,

SetThreadpoolThreadMaximum,

SetThreadpoolThreadMinimum

Управление средой DestroyThreadpoolEnvironment,

InitializeThreadpoolEnvironment,

SetThreadpoolCallbackCleanupGroup,

SetThreadpoolCallbackLibrary,

SetThreadpoolCallbackPool,

SetThreadpoolCallbackRunsLong

Управление функциями CallbackMayRunLong

Очистка функций DisassociateCurrentThreadFromCallback,

FreeLibraryWhenCallbackReturns,

LeaveCriticalSectionWhenCallbackReturns,

ReleaseMutexWhenCallbackReturns,

ReleaseSemaphoreWhenCallbackReturns,

SetEventWhenCallbackReturns

Все перечисленные функции реализованы в ядре операционной сис�

темы (Kernel32.dll), их прототипы описаны в файле Winbase.h, а для ком�

Page 36: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

36 Глава 2 Основные новинки на уровне ядра операционной системы

пиляции приложений, использующих функции управления пулом пото�

ков, потребуется библиотека Kernel32.lib.

Более подробно о новом пуле потоков см. следующие сетевые ресурсы:

� Process Management in Windows Vista, http://channel9.msdn.com/Showpost.

aspx?postid=233976;

� Thread Pools, http://msdn2.microsoft.com/en us/library/ms686760.aspx;

� Thread Pool API, http://msdn2.microsoft.com/en us/library/ms686766.aspx;

� Using the Thread Pool Functions, http://msdn2.microsoft.com/en us/library/

ms686980.aspx;

� Документ «Kernel Enhancements for Windows Vista and Windows Server Long

horn», доступный для загрузки с сайта MSDN по адресу http://www.

microsoft.com/whdc/system/vista/kernel en.mspx.

Изменения в сетевом стекеВ клиентской операционной системе Microsoft Windows Vista и сервер�

ной операционной системе Microsoft Windows Server 2008 появился пол�

ностью переписанный сетевой стек на уровне TCP/IP (т. н. Next Generation

TCP/IP Stack). Если кратко описать изменения в сетевом стеке, они сво�

дятся к следующим новинкам: слой Dual�IP для поддержки протоколов IPv4

и IPv6, улучшенная поддержка производительности и коррекции ошибок,

поддержка аппаратных конфигураций и автонастройки, богатые функции

расширяемости на уровне нового программного интерфейса.

Новый стек TCP/IP показан на следующем рисунке.

Page 37: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 2 Основные новинки на уровне ядра операционной системы 37

Три основных программных интерфейса, используемых приложениями,

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

TCP/IP — это WSK (Winsock Kernel), используемый клиентскими приложе�

ниями, Windows Sockets, используемый приложениями и сервисами (про�

граммный интерфейс Windows Sockets использует драйвер AFD — Ancillary

Function Driver для выполнения функций на уровне сокетов через TCP/IP)

и TDI (Transport Driver Interface), используемый NetBIOS over TCP/IP (NetBT)

и другими «устаревшими» клиентами. Для трансляции запросов между TDI

и новым стеком TCP/IP используется интерфейс TDX.

Новый стек TCP/IP поддерживает программный интерфейс Callout API,

который является унифицированным способом для встраивания в стек и

модификации данных на уровне пакетов. Данный программный интерфейс

является частью Windows Filtering Platform (WFP), обеспечивающей доступ

к обработке пакетов на сетевом и транспортном уровнях. Более подробно о

Windows Filtering Platform см. «Windows Filtering Platform Architecture Overview»

(http://msdn2.microsoft.com/en�us/library/aa366509.aspx). Новый стек также

поддерживает отсылку и получение фреймов (frames), используя NDIS.

Архитектура драйвера новой версии стека TCP/IP, реализованного

в файле tcpip.sys, состоит из следующих уровней:

� Транспортный уровень — содержит реализации протоколов TCP

и UDP, а также механизм для отсылки базовых IP�пакетов, которым не

требуется наличие TCP или UDP�заголовков;

� Сетевой уровень — содержит реализации протоколов IPv4 и IPv6

в виде уровня Dual IP layer;

� Фреймовый уровень — содержит модули для «фрейминга» пакетов

IPv4 и IPv6. Существуют модули для интерфейсов IEEE 802.3 (Ethernet),

IEEE 802.11 и Point�to�Point Protocol (PPP). Помимо этого существуют

модули и для логических интерфейсов, таких, как Loopback Interface, а

также интерфейсов туннелирования на основе IPv4, которые часто ис�

пользуются в технологиях поддержки переключения с IPv4 на IPv6.

Более подробно об изменениях в сетевом стеке см. раздел «The Cable

Guy» на сайте Microsoft Technet (www.microsoft.com/technet/):

� Next Generation TCP/IP Stack in Windows Vista and Windows Server «Long

horn» (/community/columns/cableguy/cg0905.mspx);

� Changes to IPv6 in Windows Vista and Windows Server «Longhorn», (/commu�

nity/columns/cableguy/cg1005.mspx);

� Performance Enhancements in the Next Generation TCP/IP Stack, (/commu�

nity/columns/cableguy/cg1105.mspx);

� Раздел «Next Generation TCP/IP and Networking Components» в документе

«Changes in Functionality in Windows Server Code Name “Longhorn”».

Page 38: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

38 Глава 2 Основные новинки на уровне ядра операционной системы

Boot Configuration DataВ клиентской операционной системе Microsoft Windows Vista и серверной

операционной системе Microsoft Windows Server 2008 изменился порядок

загрузки операционной системы, по сравнению с предыдущими версиями

Windows, использующими NT Kernel. Сначала, при включении компьюте�

ра, загружается либо BIOS, либо EFI (Extensible Firmware Interface), затем,

специальный раздел загрузочного диска, называемый MBR (Master Boot

Record), который содержит «код» для загрузки т. н. «загрузочного» сектора

соответствующего раздела диска. Этот загрузочный сектор загружает осталь�

ные блоки и Windows Boot Manager (Filename:Bootmgr) — специальный ком�

понент операционной системы, который обращается к хранилищу конфи�

гурационных данных времени загрузки — Boot Configuration Database (этот

компонент пришел на смену файлу boot.ini, использовавшемуся в преды�

дущих версиях операционной системы) и использует информацию из этого

хранилища для загрузки операционной системы. Описанный процесс заг�

рузки операционной системы показан на следующем рисунке.

Компонент Windows Boot Manager считывает конфигурационные дан�

ные (Boot Configuration Data) и отображает меню выбора операционной

системы, что практически эквивалентно функциональности, предоставляв�

шейся в предыдущих версиях операционной системы Windows NT ком�

понентом NTLDR. Для обеспечения единого пользовательского интерфейса

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

Windows Boot Manager для загрузки всех операционных систем на его

основе представляется единственной опцией в меню загрузки EFI — по

сути, на системах, использующих EFI, Windows Boot Manager является EFI�

«приложением», хранимым в системном разделе EFI (EFI System Partition).

Компонент winload.exe является базовым загрузчиком операционной

системы — он вызывается Windows Boot Manager для загрузки ядра опе�

рационной системы (ntoskrnl.exe) и ряда драйверов, имеющих класс boot.

Boot Configuration Data — это база данных для хранения конфигура�

ционных данных времени загрузки. Как мы отметили выше, она заменяет

файл boot.ini, использовавшийся компонентом NTLDR. Конфигурацион�

ные данные хранятся в файле, который имеет структуру, схожую с реест�

ром (которая загружается в реестр в ветвь HKLM\BCD00000000), и распо�

лагаются либо в системном разделе EFI (для компьютеров, использующих

EFI), либо в папке \Boot\Bcd на системном томе (для компьютеров, исполь�

Page 39: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 2 Основные новинки на уровне ядра операционной системы 39

зующих BIOS). Данные могут быть изменены либо с помощью специаль�

ной пакетной утилиты (\Windows\system32\bcdedit.exe), либо непосред�

ственно через Windows Management Instrumentation (WMI). Две команды

утилиты bcdedit.exe позволяют получить информацию о составе BDC.

Команда bcdedit (что является эквивалентом указания следующих опций

командной строки: bcdedit /enum ACTIVE) возвращает данные о всех эле�

ментах BDC в порядке их отображения. Например:

Windows Boot Manager

——————————

identifier {bootmgr}

device partition=C:

description Windows Boot Manager

locale en�US

inherit {globalsettings}

default {current}

resumeobject {d7e21262�743b�11db�9800�9259248b0929}

displayorder {current}

toolsdisplayorder {memdiag}

timeout 30

Windows Boot Loader

�����������

identifier {current}

device partition=C:

path \Windows\system32\winload.exe

description Microsoft Windows Vista

locale en�US

inherit {bootloadersettings}

osdevice partition=C:

systemroot \Windows

resumeobject {d7e21262�743b�11db�9800�9259248b0929}

nx OptIn

Для получения данных с элементами, представленными в виде GUID (так,

как они хранятся в реестре), используем команду bcdedit /enum /V. Например:

Windows Boot Manager

——————————

identifier {9dea862c�5cdd�4e70�acc1�f32b344d4795}

device partition=C:

description Windows Boot Manager

locale en�US

inherit {7ea2e1ac�2e61�4728�aaa3�896d9d0a9f0e}

default {d7e21261�743b�11db�9800�9259248b0929}

Page 40: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

40 Глава 2 Основные новинки на уровне ядра операционной системы

resumeobject {d7e21262�743b�11db�9800�9259248b0929}

displayorder {d7e21261�743b�11db�9800�9259248b0929}

toolsdisplayorder {b2721d73�1db4�4c62�bf78�c548a880142d}

timeout 30

Windows Boot Loader

����������

identifier {d7e21261�743b�11db�9800�9259248b0929}

device partition=C:

path \Windows\system32\winload.exe

description Microsoft Windows Vista

locale en�US

inherit {6efb52bf�1766�41db�a6b3�0ee5eff72bd7}

osdevice partition=C:

systemroot \Windows

resumeobject {d7e21262�743b�11db�9800�9259248b0929}

nx OptIn

Конфигурационные данные содержат элементы меню, отображаемые

Windows Boot Manager. Элементы меню могут включать:

� Опции загрузки Windows через вызов winload.exe;

� Опции продолжения работы при выходе из режима hibernate через

вызов winresume.exe;

� Опции загрузки предыдущей версии Windows NT через вызов NTLDR;

� Опции для загрузки и выполнения «кода», содержащегося в Volume Boot

Record.

Конфигурационные данные могут расширяться компаниями�разработ�

чиками для включения диагностических средств, а также средств восста�

новления системы после сбоев. Одним из примеров использования новых

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

сти памяти — \Boot\Memtest.exe.

Более подробно о Boot Configuration Data см. следующие сетевые ре�

сурсы:

� Boot Configuration Data (BCD), http://msdn2.microsoft.com/en�us/library/

aa362692.aspx;

� Boot Configuration Data in Windows Vista, http://www.microsoft.com/whdc/

system/platform/firmware/bcd.mspx.

С помощью бесплатной утилиты Vista Boot Pro (http://www.vistabootpro.

org/index.php) можно управлять информацией, хранимой в Boot Configu�

ration Database более наглядно (по сравнению с использованием пакет�

ной утилиты bcdedit.exe).

Далее мы рассмотрим технологии, связанные с управлением инфра�

структурой и приложениями, выполняющимися на ее основе.

Page 41: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 3

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

Page 42: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

В современном, постоянно изменяющемся мире очень важно, чтобы все

бизнес�приложения и поддерживающая их работу инфраструктура, функ�

ционировали стабильно и могли отвечать на любые запросы бизнеса. Для

решения этой задачи важно, чтобы ошибки, возникающие в приложени�

ях, максимально быстро диагностировались и исправлялись непосредствен�

но обслуживающим персоналом, включающим администраторов и IT�спе�

циалистов без необходимости в эскалации проблем разработчикам при�

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

чтобы центры обработки данных и бизнес�приложения были максималь�

но управляемыми и интегрированными в существующую инфраструкту�

ру. Стратегия Microsoft, состоящая в том, чтобы максимально облегчить

создание таких управляемых приложений, называется Dynamic Systems

Initiative (DSI). В целом, как технологическая стратегия, DSI распростра�

няется как на продукты и технологии Microsoft, так и на решения, созда�

ваемые партнерами. Целью этой инициативы является динамическое рас�

ширение возможностей сотрудников, процессов и инфраструктуры за счет

оптимального использования технологий. Для того чтобы приложения

могли управляться через входящие в состав DSI средства, они должны быть

спроектированы специальным образом (Design for Operations DFO). Ниже

мы рассмотрим, какие технологии, входящие в состав Microsoft Windows

Vista и Windows Server 2008, позволяют сделать это возможным.

Более подробно об инициативе Dynamics Systems Initiative (DSI) мож�

но прочитать на специальном разделе сайта Microsoft по адресу http://www.

microsoft.com/dsi. Подсистема DSI, предназначенная для управления ин�

фраструктурой и приложениями — Design for Operations (DFO), поддер�

живается в рамках направления Patterns & Practices через набор расши�

рений для Visual Studio 2005 — Visual Studio Management Model Designer

(VSMMD) и утилиты Management Model Designer (MMD); более подробно

см. http://www.codeplex.com/dfo. Visual Studio Management Model Designer

(VSMMD) — это средство для моделирования сценариев слежения за жиз�

недеятельностью корпоративных приложений и создания соответствую�

щих средств мониторинга. В состав утилиты входит генератор кода (Instru�

mentation Helper) и средства проверки соответствия кода заданной моде�

ли. Также включено руководство по созданию управляемых приложений

на платформе Microsoft Windows. Утилита Management Model Designer

(MMD) позволяет расширять существующие модели и может служить ос�

новой для создания пакетов управления (Management Pack) для Microsoft

Operations Manager (MOM) и System Center.

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

входящим в состав Microsoft Windows Vista и Microsoft Windows Server 2008,

относятся: Windows Eventing 6.0, Windows Installer 4.0, Windows PowerShell,

Microsoft Management Console 3.0 и Windows Task Scheduler 2.0.

Page 43: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 3 Управление инфраструктурой и приложениями 43

Windows Eventing 6.0Windows Eventing 6.0 — это обновленная версия технологии для сбора ин�

формации о событиях, происходящих в системе, и набор программных

интерфейсов для записи информации о событиях в системный журнал

Windows. Ключевым изменением в версии 6.0 является возможность за�

писи в журнал структурированных данных в формате XML — это позво�

ляет осуществлять поиск и фильтрацию по данным о событиях. Помимо

этого, к новинкам в Windows Eventing 6.0 можно отнести:

� Манифест для событий на основе XML�документа;

� Улучшенная производительность и надежность;

� Улучшенное управление журналом;

� Улучшенное средство просмотра журнала — Event Viewer;

� Возможность перенаправления событий (Event forwarding).

Процесс создания управляемых приложений состоит в определении со�

бытий, генерируемых приложением, информации, включаемой в каждое

событие, описания событий на уровне XML�манифеста (используя схему

EventManifest) и использования специального компилятора (message compiler,

mc.exe) для создания заголовочных, ресурсных и бинарных файлов. Прило�

жение использует эти файлы совместно с программными интерфейсами

Windows Event Log API для публикации событий в системном журнале.

Для работы с журналом событий предоставляется утилита с пользова�

тельским интерфейсом — Event Viewer — компонент Microsoft Management

Console (MMC) для управления журналом и просмотра его содержимого и

пакетная утилита WevtUtil.exe (находится в каталоге %SystemRoot%\System32).

С помощью пакетной утилиты можно получить полный список журналов,

поддерживаемых в системе, конфигурационную информацию, список ком�

понентов, публикующих события (event publishers), установить дополнитель�

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

Среди новинок в Event Viewer следует отметить интеграцию с Task

Manager — у пользователей и администраторов появилась возможность ас�

социации событий, происходящих в системе с запуском задач. Для этого

в утилите Event Viewer необходимо выбрать интересующее нас событие

и выполнить команду Attach Task to this Event, которая вызовет мастера

«Create Basic Task», реализованного в Task Scheduler. После того как базо�

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

более детальные параметры, используя средства настройки задач, реали�

зованные в Task Scheduler (или включить соответствующую опцию на

последней странице мастера). Созданная нами задача будет автоматичес�

ки помещена в библиотеку Task Scheduler Library в раздел Event Viewer Tasks.

Page 44: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

44 Глава 3 Управление инфраструктурой и приложениями

Event Viewer

Дополнительную информацию по Windows Eventing 6.0 можно найти сайте

Microsoft по адресу: http://msdn2.microsoft.com/en�us/library/aa385780.aspx.

Windows Installer 4.0Windows Installer — это технология, позволяющая устанавливать и удалять

программное обеспечение. Новая версия — Windows Installer 4.0 содер�

жит ряд расширений, позволяющих упростить установку приложений.

К таким расширениям, в частности, относятся:

� Автоматическая поддержка Restart Manager;

� Совместимость с технологией User Account Control (UAC) при работе

под управлением Windows Vista и Windows Server 2008;

� Совместимость с Windows Resource Protection (WRP).

Для того чтобы воспользоваться возможностями Windows Installer 4.0, необ�

ходимо создать для вашего приложения Windows Installer Package. Дополни�

тельную информацию по Windows Installer 4.0 можно найти сайте Microsoft

по адресу: http://msdn2.microsoft.com/en�us/library/aa372866.aspx и в блоге

продуктовой команды, отвечающей за данную технологию — http://

blogs.msdn.com/windows_installer_team.

Page 45: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 3 Управление инфраструктурой и приложениями 45

Windows PowerShellWindows PowerShell — это новая программная оболочка, реализующая фун�

кцию командной строки и скриптовый язык для платформы Windows.

Windows PowerShell поставляется в составе Windows Server 2008, но так�

же может быть установлена в Windows Vista и Windows XP — требуется

наличие в системе Microsoft .NET Framework 2.0.

В состав Windows PowerShell входит более 130 стандартных инструмен�

тов командной строки и проработанный синтаксис команд, обеспечива�

ющий системным администраторам более легкое управление системой и

ускоренное выполнение автоматизированных действий. Windows Power�

Shell проста в адаптации, изучении и использовании, поскольку работает

на основе существующей IT�инфраструктуры. Среди основных возможно�

стей Windows PowerShell отметим:

� Полный доступ к библиотеке классов .NET Framework;

� Полный доступ к существующей скриптовой инфраструктуре, включая

WMI и COM;

� Объектный вывод;

� Встроенная безопасность;

� 100%�ая расширяемость.

Для обеспечения управляемости вашего приложения через Windows

PowerShell можно либо реализовать механизмы управляемости на осно�

ве класса .NET, либо создать полнофункциональную команду PowerShell,

которая называется командлетом (cmdlet) на любом языке, поддержива�

ющем создание .NET�компонентов.

Windows Power Shell

Дополнительную информацию по Windows PowerShell можно найти сайте

Microsoft по адресу: http://msdn2.microsoft.com/en�us/library/aa139691.aspx и

в блоге продуктовой команды, отвечающей за данную технологию —

http://blogs.msdn.com/powershell.

Page 46: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

46 Глава 3 Управление инфраструктурой и приложениями

На сайте TechNet Script Center (http://www.microsoft.com/technet/scriptcenter)

представлено большое число примеров использования PowerShell для

выполнения различных задач администрирования системы. Помимо это�

го, для IT�специалистов существует специальный ресурс, посвященный всем

вопросам, связанным с управлением системой (включая Microsoft System

Management Server, Microsoft Operations Manager, Scripting, Group Policy,

PowerShell и т. д.) — этот ресурс доступен по адресу http://myitforum.com.

Windows PowerShell поддерживается большим числом партнеров, сре�

ди которых отметим:

� FullArmor (http://www.fullarmor.com) — расширение PowerShell для уп�

равления Group Policy;

� /n Software (http://www.nsoftware.com/powershell) — расширение Power�

Shell для управления сетевыми функциями системы;

� PowerGadgets (http://www.powergadgets.com) — средства для отображе�

ния, исследования и мониторинга корпоративных данных из практи�

чески любого источника, включая традиционные базы данных, тексто�

вые файлы и т. п.;

� Quest Software (http://www.quest.com) — графический интерфейс для

Windows PowerShell — PowerGUI, командлеты для Active Directory. Ком�

пания Quest Software также поддерживает специальный сайт для раз�

работчиков, интересующихся технологией Windows PowerShell —

http://powergui.org/index.jspa;

� Sapien Technologies (http://www.sapien.com) — поддержка PowerShell

в визуальной среде разработчика — PrimalScript 4.1.

Microsoft Management Console 3.0Microsoft Management Console 3.0 (MMC 3.0) — это единый интерфейс для

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

системой и ее отдельными компонентами, входящие в состав Windows.

Преимущество использования MMC 3.0 заключается в том, что вы можете

создавать утилиты для управления вашими приложениями в рамках ин�

терфейса, знакомого и понятного большинству администраторов и IT�

специалистов. К основным новинкам MMC 3.0 можно отнести:

� Полную поддержку .NET Framework;

� Существенное, по сравнению с предыдущими версиями сокращение

кода, требуемого для написания административных утилит для MMC;

� Хостинг Windows Forms;

� Улучшенная надежность и изоляция отдельных компонентов Snapin;

� Улучшенная функциональность и расширенные графические функции.

Page 47: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 3 Управление инфраструктурой и приложениями 47

Microsoft Management Console 3.0

Дополнительную информацию по Microsoft Management Console 3.0

можно найти сайте Microsoft по адресу: http://msdn2.microsoft.com/en�us/

library/ms692740.aspx.

Windows Task Scheduler 2.0Улучшенная версия Windows Task Scheduler — Windows Task Scheduler 2.0

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

расписанию. К новым возможностям Task Scheduler можно отнести под�

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

возможность активации задач на основе системных событий. Рекоменду�

ется использовать Task Scheduler для решения всех задач, связанных с за�

пуском процессов по заданному расписанию.

К улучшенным возможностям Task Scheduler 2.0 можно отнести следу�

ющие:

� Активизация и запуск задач на основе системных событий в Event log;

� Возможность задания более одного механизма активации для задачи;

� Улучшенная безопасность с поддержкой изоляции процессов;

� Улучшенная надежность и производительность;

� Поддержка скриптовых языков и управления из командной строки;

� Улучшенный мониторинг задач.

Page 48: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

48 Глава 3 Управление инфраструктурой и приложениями

Task Scheduler 2.0

Задачи, предназначенные для выполнения по расписанию, создаются

либо с помощью специального мастера, либо программно. В первом слу�

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

«простой» задачи, используя мастер «Create Basic Task», либо задачи с воз�

можностью максимальной настройки всех параметров — для этого исполь�

зуется мастер «Create Task». Во втором случае — при программном созда�

нии задач — мы должны выполнить 2 шага. Первый шаг — это создание

специального XML�документа, описывающего нашу задачу (на основании

схемы с пространством имен http://schemas.microsoft.com/windows/2004/

02/mit/task) и сохранение этого документа в библиотеке Task Scheduler

Library, второй — регистрация нашей задачи в системе, что позволит Task

Scheduler «увидеть» нашу задачу и активизировать ее согласно заданному

расписанию. Регистрация может быть выполнена либо командой Import

Task (с указанием XML�файла, описывающего наше расписание), либо

программно — через соответствующий COM�интерфейс. Рассмотрим, как

выглядит XML�описание задачи, запускающей дефрагментацию диска (ути�

лита defrag.exe) каждую среду в 01:00, начиная с 01/01/2005 при условии,

что компьютер находится в состоянии простоя:

<?xml version=”1.0" encoding=”UTF�16"?>

<Task version=”1.2" xmlns=”http://schemas.microsoft.com/windows/2004/02/mit/task”>

<RegistrationInfo>

<Source>Microsoft Corporation</Source>

<Author>Microsoft Corporation</Author>

<Description>This task defragments the computers hard disk drives.</

Page 49: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 3 Управление инфраструктурой и приложениями 49

Description>

<URI>Microsoft\Windows\Defrag\ScheduledDefrag</URI>

</RegistrationInfo>

<Triggers>

<CalendarTrigger id=”DefragWeeklyTrigger”>

<StartBoundary>2005�01�01T01:00:00</StartBoundary>

<Enabled>true</Enabled>

<ScheduleByWeek>

<DaysOfWeek>

<Wednesday />

</DaysOfWeek>

<WeeksInterval>1</WeeksInterval>

</ScheduleByWeek>

</CalendarTrigger>

</Triggers>

<Principals>

<Principal id=”LocalSystem”>

<UserId>SYSTEM</UserId>

<RunLevel>HighestAvailable</RunLevel>

</Principal>

</Principals>

<Settings>

<IdleSettings>

<Duration>PT3M</Duration>

<WaitTimeout>PT31536000S</WaitTimeout>

<StopOnIdleEnd>true</StopOnIdleEnd>

<RestartOnIdle>true</RestartOnIdle>

</IdleSettings>

<MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>

<DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>

<StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>

<AllowHardTerminate>true</AllowHardTerminate>

<StartWhenAvailable>true</StartWhenAvailable>

<RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>

<AllowStartOnDemand>true</AllowStartOnDemand>

<Enabled>true</Enabled>

<Hidden>false</Hidden>

<RunOnlyIfIdle>true</RunOnlyIfIdle>

<WakeToRun>false</WakeToRun>

<ExecutionTimeLimit>PT72H</ExecutionTimeLimit>

<Priority>7</Priority>

</Settings>

<Actions Context=”LocalSystem”>

<Exec>

Page 50: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

50 Глава 3 Управление инфраструктурой и приложениями

<Command>%windir%\system32\defrag.exe</Command>

<Arguments>�c �i</Arguments>

</Exec>

</Actions>

</Task>

Не вдаваясь в подробности, обратим внимание на то, как отдельные

вкладки мастера «Create Task» соотносятся с элементами XML�документа.

Вкладка General позволяет нам задать информацию для элементов <Registra�

tionInfo> и <Principals>, вкладка Triggers описывает элемент <Triggers>,

вкладка Actions описывает элементы <Actions> и <Exec>, а вкладки Condi�

tions и Settings задают значения элемента <Settings> и его вложенных эле�

ментов. Таким образом, при необходимости программного создания той

или иной задачи рекомендуется использовать мастер «Create Task» для

генерации соответствующего XML�файла — это гарантирует создание и

заполнение всех необходимых для описания задачи элементов и отсут�

ствие ошибок в XML�файле. Дополнительную информацию по Windows

Task Scheduler 2.0 можно найти сайте Microsoft по адресу: http://msdn2.

microsoft.com/en�us/library/aa383614.aspx.

Page 51: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4

Windows PowerShell.Коротко о главном

Page 52: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

В этом обзоре мы рассмотрим использование ключевых возможностей

Windows PowerShell для выполнения различных административных задач.

Начнем с обсуждения встроенных средств ознакомления с возможностя�

ми Windows PowerShell.

Знакомство с возможностямиWindows PowerShellИтак, вы — администратор, которому необходимо в кратчайший срок ос�

воить Windows PowerShell. Первое, что приходит в голову (естественно,

помимо обращения к документации и справочной системе) — восполь�

зоваться командой Help:

Внимательно изучив выведенную на экран информацию, мы придем к

пониманию следующих концептуальных вещей — в Windows PowerShell

существуют алиасы, командлеты, провайдеры, а также справочные файлы.

Алиасы (alias) служат для упрощения ввода команд (например, clc — это

алиас команды Clear�Content), командлеты (cmdlet) представляют собой

реализацию всех встроенных в Windows PowerShell команд, провайдеры

(provider) обеспечивают доступ к файловой системе, реестру, хранилищу

сертификатов и т. п., а справочные файлы (helpfile) используются для

получения дополнительной информации. Для получения подробного опи�

сания команды используется следующий синтаксис:

PS C:> Help Get�Command

Page 53: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 53

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

команды Get�Command, включая ее назначение, синтаксис, опции и т. п.

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

синтаксис:

PS C:> Get�Command

Обратим внимание на то, что все команды состоят из глагола и прила�

гательного (например, Get�Content, Export�Console) и все команды поддер�

живают единую систему именования — например для завершения чего�либо

всегда используется глагол Stop, а не Kill, Terminate, Halt и другие синони�

мы — это существенно упрощает изучение возможностей PowerShell.

Обратим внимание на команду Get�Service. Она служит для получения

списка всех сервисов, запущенных на данном компьютере. Например,

PS C:> Get�Service

Page 54: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

54 Глава 4 Windows PowerShell. Коротко о главном

возвращает следующий список:

Для получения списка процессов, запущенных в настоящий момент на

компьютере, используется команда Get�Process:

PS C:> Get�Process

В Windows PowerShell поддерживается автоматическое завершение вво�

да — чтобы убедиться в этом, введите Get�P и нажмите клавишу TAB, вы

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

символов.

Для того чтобы получить информацию только об одном процессе, в

качестве аргумента команды Get�Process задается имя этого процесса:

PS C:> Get�Process explorer

Page 55: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 55

Для того чтобы получить список всех процессов, названия которых на�

чинаются с определенного символа, достаточно указать этот символ и “*”:

PS C:> Get�Process i*

Обратим внимание на колонки, в которых содержится информация —

Handles, NMP(K) и т. п. По умолчанию информация выводится в виде таб�

лицы, но на самом деле, все команды возвращают объекты. Эти объекты

могут быть переданы на вход другим командам, используя символ “|”:

PS C:> Get�Process i* | format�list

Теперь список процессов доступен в другом представлении. Для полу�

чения подробной информации о различных форматах можно использо�

вать следующую команду:

PS C:> Help format *

Page 56: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

56 Глава 4 Windows PowerShell. Коротко о главном

Другие возможные форматы:

PS C:> Get�Process i* | format�wide

иPS C:> Get�Process i* | format�custom

Так как на выходе мы всегда получаем объект, мы можем манипулировать

им для выполнения дополнительных операций. Например, фильтрации:

PS C:> Get�Process | where {$_.handlecount �gt 400}

или сортировки:

PS C:> Get�Process | where {$_.handlecount �gt 400} | sort�object Handles

Может возникнуть вполне резонный вопрос — а откуда мы узнали, что

у объекта, описывающего процесс, есть свойство handlecount? Для полу�

чения списка всех свойств объекта используем следующую команду:

PS C:> Get�Process | Get�Member

Выполним команду Get�Process | Get�Member Company — при форма�

тировании по умолчанию мы не сможем получить желаемые данные. Пре�

образуем нашу команду в:

PS C:> Get�Process | Get�Member Company | Format�List

Page 57: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 57

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

нию компании, описанию и числу ссылок:

PS C:> Get�Process | sort�object Company | format�table �Group Company name,

description, handles

Команда stop�process позволяет остановить запущенный процесс. На�

пример:

PS C:> Get�process notepad | stop�process

Такая возможность не всегда является безопасной, поэтому лучше ис�

пользовать такие команды с опцией whatif, которая показывает, что про�

изойдет при выполнении той или иной команды, но реально команда не

выполняется:

PS C:> Get�Process notepad | stop�process –whatif

Либо можно указывать на необходимость подтверждения перед выпол�

нением команды:

PS C:> Get�Process notepad | stop�process –confirm

Page 58: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

58 Глава 4 Windows PowerShell. Коротко о главном

В последнем примере мы получаем описание действий, которые выпол�

няет команда и можем выбрать, подтверждать ее выполнение или нет.

Помимо этого, можно создавать собственные пакетные файлы — фай�

лы с расширением .ps1, в которые помещаются команды PowerShell, и вы�

полнять такие файлы. Для соблюдения безопасности, пакетные файлы дол�

жны быть подписаны. При тестировании можно отключить требование по

запуску только подписанных файлов:

PS C:> Set�ExecutionPolicy Unrestricted

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

опцию с помощью следующей команды:

PS C:> Set�ExecutionPolicy AllSigned

После того как мы познакомились с основами Windows PowerShell,

давайте посмотрим, как с помощью данной утилиты можно решать раз�

личные административные задачи.

Работа с файловой системойОдна из частых задач, с которой сталкиваются многие IT�специалисты,

связана с манипуляцией с файлами — копирование, перемещение, пере�

именование, удаление файлов и каталогов. На следующем рисунке пока�

заны основные команды Windows PowerShell, используемые для манипу�

ляций с файловой системой: new�item, copy�item, move�item, rename�item

и remove�item.

В отличие от других оболочек, в которых существует набор команд для

файлов (например, delete или rename), а другой набор — для каталогов (на�

Page 59: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 59

пример, rd или md), в Windows PowerShell единый набор команд использу�

ется как для манипуляций с файлами, так и для манипуляций с каталогами.

Первая команда в нашем примере — new�item TextFiles –itemtype direc�

tory используется для создания нового подкаталога TextFiles в текущем ка�

талоге. Если опустить параметр –itemtype, то Windows PowerShell спро�

сит, что мы создаем — файл (file)или каталог (directory). Отметим, что у

команды new�item есть алиас — ni. В сокращенном виде наша первая ко�

манда будет выглядеть так:

PS C:> ni TextFiles –itemtype directory

Затем мы используем команду copy�item (алиасы — cpi, cp, copy) для

копирования всех файлов с расширением *.txt в подкаталог TextFiles. Если

использовать данную команду в пакетном файле, имеет смысл сделать ее

более понятной, указав параметры –path (источник) и –destination (при�

емник):

PS C:>copy�item –path ‘.\*.txt’ –destination ‘.\TextFiles’

После выполнения команды копирования, мы используем команду set�

location для перехода в подкаталог TextFiles. С помощью команды rename�

item мы переименовываем файл psdemo.txt в psdemo.bak. При необходи�

мости, мы можем использовать опции –path и –newName. После того как

файл переименован, мы переносим его на один уровень вверх, используя

команду move�item. Затем мы используем команду set�location, а точнее —

ее алиас sl для перехода в другой каталог. Наши манипуляции с файловой

системой мы завершаем удалением всего каталога TextFiles, используя

команду remove�item. Так как в каталоге TextFiles содержатся файлы, мы

используем опцию –recurse. Если эта опция не указана, Windows PowerShell

запросит подтверждение перед выполнением команды remove�item.

Работа с реестромПри выполнении различных настроек и попытках обнаружения каких�либо

параметров нам иногда приходится обращаться к системному реестру в

поисках ключей, значений и т. п. Используя возможности Windows Power�

Shell эта задача может быть решена достаточно простым способом. Воз�

можности Windows PowerShell показаны на следующем экране.

Page 60: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

60 Глава 4 Windows PowerShell. Коротко о главном

Наша первая команда использует алиас sl для выполнения команды set�

location, изменяющей наше текущее местоположение с файловой систе�

мы на ветвь HKEY_CURRENT_USER в системном реестре:

PS C:\> sl hkcu:

Отметим, что, как и в случае работы с файловой системой, PowerShell

использует специального провайдера для доступа к реестру.

Аналогами приведенной выше команды являются команды:

PS C:\> sl registry:hkcu

и

PS C:\> sl hkey_current_user

Следующая команда загружает содержимое всей ветви реестра HKEY_

CURRENT_USER в переменную reg:

PS HKCU:\> $reg = gci . –rec –ea silentlycontinue

Для этого мы используем команду get�childitem (алиас — gci), которая

работает аналогично работе с файловой системой. Первый аргумент этой

команды — “.”, указывает на то, что мы хотим получить содержимое теку�

щей ветви реестра — HKEY_CURRENT_USER. Второй аргумент является со�

кращением от опции –recurse иуказывает на то, что нам нужен рекурсив�

ный сбор данных из всех подветвей текущей ветви реестра. И, наконец,

третий аргумент –ea silentlycontinue указывает на то, что команда должна

продолжать выполняться даже в случае возникновения ошибок, связанных

с недостатком прав доступа к определенным подветвям реестра.

Следующая команда в нашем примере:

PS HKCU:\>$s = $reg | % {if (gp $_.pspath) –match ‘PowerShell’ ){$_.pspath}}

копирует из реестра данные, содержащие строку ‘PowerShell’. Мы начина�

ем с того, что берем объект reg и перенаправляем его в команду %, кото�

рая является алиасом команды for�each. Она выполняет рекурсивный об�

ход всех элементов реестра, находящихся в объекте reg и на каждом шаге

сохраняет элемент в специальном объекте PowerShell с именем ‘_’. В фи�

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

каждом шаге выполнения команды for�each. Внутри блока for�each мы

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

запись реестра и ее свойство pspath, которые мы получаем через обращение

к команде get�itemproperty (через алиас gp) нашему критерию — наличию

строки ‘PowerShell’. Если соответствие найдено, мы возвращаем значение

свойства pspath. Все найденные соответствия сохраняются в объекте s.

Работу с реестром мы завершаем перенаправлением результатов поиска

в команду select�object (через алиас select) и показываем два первых най�

Page 61: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 61

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

нальные результаты в файл, используя команду out�file.

Доступ к процессамЕще одна задача, с которой могут столкнуться IT�специалисты, связана с

обнаружением аномалий в работе системы, например процессов, которые

потребляют большие объемы памяти. Давайте посмотрим, как эта задача

решается средствами Windows PowerShell.

В первой команде мы сохраняем информацию о всех процессах, запу�

щенных на данном компьютере в переменной $allprocs:

PS C:\> $allprocs = get�process

После этого мы перенаправляем полученную информацию команде for�

each, которая также может быть указана алиасом % или foreach. Данная

команда перебирает все объекты, связанные с процессом, и на каждом шаге

сохраняет информацию во внутреннем объекте $_. Этот объект можно

условно назвать «текущим объектом». В качестве параметров для коман�

ды for�each мы указываем операцию сравнения значения свойства virtual�

memorysize с интересующим нас размером памяти (20 Мбайт в нашем

примере). Если значение этого свойства для текущего объекта больше

заданного, мы выводим название процесса на экран. Отметим, что в Power�

Shell поддерживаются основные сокращения для указания размеров — KB,

MB, GB, что очень полезно, т. к. не нужно «считать нули» при указании

объемов памяти, дисков и т. п.

Доступ к системному журналуПри попытке обнаружения причин сбоев мы часто обращаемся к систем�

ному журналу, в котором хранится множество полезной информации о

Page 62: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

62 Глава 4 Windows PowerShell. Коротко о главном

событиях, происходивших в системе. Обычно для исследования системного

журнала используется утилита Event Viewer (eventvwr.exe). В PowerShell мы

можем воспользоваться встроенными командами, например командой get�

eventlog для быстрого исследования содержимого системного журнала.

Наша первая команда загружает ключевую информацию из системно�

го журнала:

PS C:\> get�eventlog –list

Без использования опции –list PowerShell запросит точного указания

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

входа в системном журнале: Application, Internet Explorer, System, Windows

PowerShell и т. п. Наша следующая команда извлекает записи из систем�

ного журнала, которые имеют тип “Error”:

PS C:\> $bad = get�eventlog “System” | where�object { $_.EntryType –eq “Error” }

Мы используем команду get�eventlog, которой указываем параметр “Sys�

tem” для извлечения только системных записей — мы могли бы более четко

задать это, использовав параметр –logName. Содержимое переменной $bad

передается на вход команде where�object для фильтрации только интере�

сующих нас записей. В качестве аргументов команды where�object мы ука�

зываем на то, что мы ищем только записи, у которых свойство EntryType

равно “Error”.

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

последних записей об ошибках, используя для этого команду select�object

с параметром �last:

PS C:\> $bad | select�object –last 5

Page 63: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 63

Доступ к WMIКак мы знаем, Windows Management Instrumentation (WMI) — это реали�

зация компанией Microsoft стандарта Common Information Model (CMI).

В большинстве случаев, WMI используется IT�специалистами для получе�

ния информации об аппаратном и программном обеспечении, установ�

ленном на данном компьютере. Как мы увидим в следующем примере, ис�

пользование Windows PowerShell существенно облегчает доступ к инфор�

мации, хранимой в WMI .

В первой строке мы используем команду get�wmiobject для получения

информации о файле, используемом для свопинга памяти на диск и со�

хранения этой информации в переменной $pfu:

PS C:\> $pfu = get�wmiobject – class ‘win32_pageFileUsage’

Далее мы используем команду get�member для определения свойств,

доступных для класса win32_pageFileUsage:

PS C:\> $pfu | get�member –membertype property | where_object { $_.name –nomatch

‘_’ }

Обычно для нахождения информации по определенному классу мож�

но использовать команду get�member без указания параметров, но в на�

шем примере нас интересуют только доступные свойства и только те из

них, которые не содержат в имени символ подчеркивания. У вниматель�

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

нии класса win32_pageFileUsage? Ведь известно, что в WMI поддержива�

ется более тысячи классов, помимо этого, ряд приложений добавляет свои

классы. Вы можете использовать команду:

PS C:\> get�wmiobject –list

Page 64: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

64 Глава 4 Windows PowerShell. Коротко о главном

для получения списка всех существующих в системе классов. После того

как мы определили доступные нам свойства класса, мы выводим содер�

жимое интересующих нас свойств на экран:

PS C:\> $pfu.caption; $pfu.currentusage

Вторая часть нашего примера посвящена другому классу — win32_

DiskDrive, в котором хранится информация о дисках, установленных в

системе. Этот класс — пример WMI�класса, содержащего более одного

объекта. В нашем примере мы определяем значение свойства caption пер�

вого диска, установленного в системе:

PS C:\> $dd[0].caption

Использование XML-файловВ последнее время XML�файлы все чаще используются для хранения кон�

фигурационной информации. По мере того как данные в XML�файле на�

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

посмотрим, как использовать функции Windows PowerShell для работы с

XML�файлами.

Для примера возьмем конфигурационный файл Windows Calendar, ко�

торый выглядит так:

и выполним над ним следующие манипуляции:

В первой строке мы загружаем содержимое всего XML�файла в пере�

менную, используя команду get�content:

PS C:\> [xml] $doc = get�content “.\settings.xml”

Обратим внимание на использование типа данных [xml], если не ука�

зать использование данных этого типа, в переменную будет загружен

просто текст.

Page 65: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 4 Windows PowerShell. Коротко о главном 65

Во второй строке мы выбираем определенную ветвь XML�файла — для

этого используется метод selectnodes объекта, хранящего XML�данные и

XPath�описание адреса ветви:

PS C:\> $settings = $doc.selectnode(‘CalendarSettings/X�Root/VCalendar’)

После этого мы используем команду foreach�object для получения зна�

чения свойства Name для всех элементов в данной ветви.

ЗаключениеВыше мы рассмотрели основные возможности Windows PowerShell для

упрощения задач, возникающих перед IT�специалистами. Как мы знаем,

часто эти задачи решались с помощью скриптового языка VBScript.

В Windows PowerShell есть возможность использования существующего

кода на VBScript — таким образом миграция существенно упрощена.

В приведенном выше примере показано, как можно использовать су�

ществующий код на VBScript в PowerShell. В первой строке мы создаем

новый COM�объект, который представляет собой ядро выполнения скрип�

товых программ — ScriptControl. Затем мы указываем, что будем исполь�

зовать язык Visual Basic Script. В третьей строке задается собственно код

на VBScript — в нашем примере это вызов функции MsgBox, но в реаль�

ной жизни в переменную можно, например, загрузить код и файла. И, на�

конец, в последней строке мы добавляем код на VBScript в наш объект —

и код поступает на выполнение.

Сетевые ресурсыPowerShell /1 основная страница:

� http://www.microsoft.com/windowsserver2003/technologies/management/

powershell/default.mspx

Примеры программ:

� http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

Page 66: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

66 Глава 4 Windows PowerShell. Коротко о главном

Блог команды разработчиков продукта:

� http://blogs.msdn.com/PowerShell

Утилиты, редакторы и дополнения:

� http://www.powershell.com

PowerShell SDK:

� http://msdn2.microsoft.com/en�us/library/ms714469.aspx

Блог Дмитрия Сотникова из компании Quest:

� http://dmitrysotnikov.wordpress.com

PowerGadgets — пример неограниченных возможностей расширения

PowerShell:

� http://powergadgets.com

Page 67: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 5

Windows Server 2008как сервер приложений

Page 68: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

В этой части мы начнем рассмотрение Windows Server 2008 в роли сер�

вера приложений. Роль Application Server представляет собой интегриро�

ванную среду для развертывания и выполнения серверных бизнес�прило�

жений. Чаще всего такие приложения разрабатываются либо внутри орга�

низации для решения каких�то специфических бизнес�задач, либо при�

обретаются у независимых разработчиков программного обеспечения (ISV,

Independent Software Vendor). Обычно такие приложения используют одну

или более следующих технологий, сервисов и компонентов: Internet Infor�

mation Services (IIS), Microsoft .NET Framework, ASP.NET, COM+, Message

Queuing, веб�сервисы на основе Windows Communication Foundation (WCF).

История сервера приложенийИстория сервера приложений от Microsoft началась более десяти лет на�

зад, в 1986 году, когда в рамках NT 4.0 Option Pack был выпущен продукт

Microsoft Transaction Server 1.0 (кодовое название «Viper»). MTS позволял

развертывать COM�компоненты в контейнеры и задавать их различные

транзакционные уровни. За время, прошедшее с момента выпуска Windows

NT 4.0, произошла смена нескольких поколений подходов к созданию

приложений — от архитектуры «клиент/сервер» до многозвенной архи�

тектуры и федеративных систем (Federated Systems). Технологии, обеспе�

чивающие поддержку каждой такой архитектуры, также претерпели оп�

ределенные изменения — от объектно�ориентированного подхода (инкап�

суляция, наследование и полиморфизм), популярного в 1980�х, до компо�

нентно�ориентированного в 1990�х (независимость от месторасположе�

ния, тесное связывание, метаданные в режиме выполнения) и сервис�ори�

ентированного уже в наше время (использование сообщений, схемы, кон�

тракты, политики, межплатформенность). Соответствующим образом по�

полнялись компоненты сервера приложений — от Microsoft Transaction

Server до COM+ и Enterprise Services, на смену которым пришли .NET Frame�

work и Windows Communication Foundation.

Windows Server 2008 продолжает поддерживать роль сервера приложе�

ний как одну из ключевых и содержит ряд улучшений и изменений, кото�

рые мы рассмотрим ниже.

Сервер приложенийв Windows Server 2008Основные изменения и улучшения для роли сервера приложений заклю�

чаются в упрощении установки и конфигурации роли (что, в прочем, от�

носится ко всем ролям, поддерживаемым в Windows Server 2008). Новый

«мастер» Add Roles Wizard, реализованный в Server Manager, позволяет

Page 69: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 5 Windows Server 2008 как сервер приложений 69

выбрать сервисы и дополнительные функции, необходимые для обеспе�

чения работоспособности бизнес�приложений, установка сервера прило�

жений с настройками по умолчанию — Application Server Foundation вклю�

чает .NET Framework 3.0. Также для роли «сервер приложений» устанавли�

вается веб�сервер — Internet Information Services (IIS) 7.0 и доступны сер�

висы Windows Process Activation Service (WAS) — данный сервис позволя�

ет активизировать сервисы Windows Communication Foundation (WCF) по

протоколу HTTP, через TCP, Named Pipes и Message Queue и Net.TCP Port

Sharing — позволяет нескольким WCF�приложениям использовать один

TCP�порт для получения сообщений. Помимо этого, доступны такие сер�

висы, как COM+ Network Access для удаленного вызова COM+ приложений,

Distributed Transactions и MSMQ.

Application Server FoundationApplication Server Foundation — это группа технологий, устанавливаемых по

умолчанию при выборе роли «сервер приложений». В основе Application Server

Foundation лежит библиотека классов .NET Framework 3.0. В составе Windows

Server 2008 поставляется библиотека классов .NET Framework 2.0 — она дос�

тупна для всех ролей. В .NET Framework 2.0 входит Common Language Runtime

(CLR) — ядро выполнения кода, написанного на «управляемых» языках —

C#, VB.NET и ряде других, обеспечивающее безопасное выполнение кода,

упрощенное развертывание, межъязыковое взаимодействие и обширная

библиотека классов. Application Server Foundation добавляет к базовым фун�

кциям .NET Framework 2.0 ряд расширений, реализованных в .NET Frame�

work 3.0. К таким расширениям относятся: Windows Communication Founda�

tion (WCF), Windows Workflow Foundation (WF) и Windows Presentation

Foundation (WPF). Из этих трех ключевых компонентов .NET Framework 3.0

WCF и WF часто используются как для серверных, так и для клиентских

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

в данном обзоре не обсуждается — более подробно о Windows Presentation

Foundation см. соответствующий раздел сайта MSDN по адресу: http://msdn2.

microsoft.com/en�us/netframework/aa663326.aspx и раздел сайта netfx3 по

адресу http://wpf.netfx3.com/.

Windows Communication FoundationWindows Communication Foundation (WCF) — это унифицированная про�

граммная модель для построения приложений, использующих веб�сервисы

для коммуникации (connected applications). Такие приложения создаются

на основе архитектуры Service Oriented Architecture (SOA) и часто назы�

ваются сервис�ориентированными приложениями. Разработчики могут

использовать WCF для создания надежных, безопасных, транзакционных

веб�сервисов, которые могут общаться с другими сервисами и приложе�

Page 70: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

70 Глава 5 Windows Server 2008 как сервер приложений

ниями, реализованными на различных платформах. Таким образом появ�

ляется возможность создания приложений, потребляющих сервисы, «со�

ставлять» приложения из сервисов, расширять функциональность суще�

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

приложениями и сервисами. WCF поддерживает все современные техно�

логии, используемые для создания распределенных приложений — COM+

и .NET Enterprise Services, Message Queuing, .NET Remoting, ASP.NET Web

Services и Web Services Enhancements (WSE).

Более подробно о Windows Communication Foundation см. соответству�

ющий раздел сайта MSDN по адресу: http://msdn2.microsoft.com/en�us/

netframework/aa663324 и раздел сайта netfx3 по адресу http://wcf.netfx3.com.

Windows Workflow FoundationWindows Workflow Foundation (WF) — это программная модель и ядро вы�

полнения приложений, использующих т. н. «потоки работ» (workflow).

Поток работ представляет собой набор активностей, описывающих реаль�

ные бизнес�процессы. Потоки работ обычно создаются и отрабатывают�

ся графически с помощью соответствующих инструментов. В описании

потоков работ обычно используется т. н. «модель» и включенные в нее

отдельные элементы потока (активности) могут выполняться как программ�

но, так и вручную. Несмотря на то, что простые потоки работ могут быть

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

вания, таких, например, как серия шагов, и условий их выполнения, бо�

лее сложные, реалистичные workflow требуют соответствующих средств

дизайна, разработки и выполнения. Таким образом, включенные в Windows

Workflow Foundation графические средства создания моделей, библиоте�

ки предопределенных активностей и средства выполнения потоков работ

максимально упрощают реализацию сложных, комплексных сценариев,

позволяющих управлять активностями как программно, так и вручную.

Можно выделить следующие ключевые сценарии использования Windows

Workflow Foundation:

· Поддержка потоков работ в бизнес�приложениях;

· Реализация условных переходов для экранов, страниц, диалоговых

панелей в зависимости от действий пользователя;

· Потоки работ, ориентированные на работу с документами;

· Управление действиями вручную, например отсылка и получение элек�

тронной почты;

· Создание композитных потоков работ для сервис�ориентированных

приложений;

· Создание потоков работ, управляемых бизнес�правилами;

· Реализация потоков работ для управления системой.

Page 71: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 5 Windows Server 2008 как сервер приложений 71

Более подробно о Windows Workflow Foundation см. соответствующий

раздел сайта MSDN по адресу: http://msdn2.microsoft.com/en�us/netframework/

aa663328 и раздел сайта netfx3 по адресу http://wf.netfx3.com/.

Более подробно про .NET Framework 3.0 — .NET Framework Developer

Center по адресу: http://msdn2.microsoft.com/en�us/netframework/default.

aspx, а также специализированный сайт http://www.netfx3.com.

Дополнительные сервисыПомимо Application Server Foundation можно добавить к серверу прило�

жений ряд дополнительных сервисов, к которым относятся: веб�сервер,

удаленный доступ к сервисам COM+, Windows Process Activation Service,

Net.TCP Port Sharing и поддержка распределенных транзакций.

Веб-серверИспользуя данную опцию, можно установить веб�сервер — Internet Infor�

mation Services версии 7.0. Данная версия является существенно перера�

ботанной версией веб�сервера, обладающей повышенной улучшенной

производительностью, безопасностью, управляемостью, надежностью,

модульностью и масштабируемостью. К основным преимуществам исполь�

зования Internet Information Services можно отнести возможность хостинга

в рамках сервера приложений внутренних и внешних сайтов, веб�серви�

сов и компонентов со статическим и динамическим наполнением, возмож�

ность выполнения приложений на ASP.NET с доступом к ним из веб�бра�

узера и поддержку выполнения веб�сервисов, созданных как средствами

Windows Communication Foundation, так и ASP.NET.

Дополнительную информацию о Internet Information Services можно

получить на специальном сайте, посвященном IIS 7.0, расположенном по

адресу: http://www.iis.net.

Более подробно о новом веб�сервере мы поговорим в следующей час�

ти нашего обзора.

Удаленный доступ к сервисам COM+COM+ Network Access — это сервис, обеспечивающий удаленный вызов

приложений, созданных с применением технологии COM+ и компонен�

тов Enterprise Services. Такие приложения часто называют «компонентами

Enterprise Services». Данный сервис впервые появился в Windows 2000 Server

и продолжает поддерживаться в Windows Server 2008. Приложения, созда�

ваемые с использованием новейших технологий, обычно используют WCF

для поддержки удаленных вызовов, т. к. WCF обеспечивает межплатфор�

менное взаимодействие.

Page 72: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

72 Глава 5 Windows Server 2008 как сервер приложений

Windows Process Activation ServiceДанная опция добавляет сервис, называемый Windows Process Activation

Service (WAS). Используя WAS, можно динамически запускать и останав�

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

по HTTP, Message Queuing, TCP и Named Pipes. Динамический запуск и

остановка приложений означает более эффективное использование ре�

сурсов сервера. WAS является новинкой, впервые появившейся в Windows

Server 2008.

Net.TCP Port SharingДанная опция добавляет сервис, известный под названием Net.TCP Port

Sharing Service, который является новым сервисом в Windows Server 2008.

Этот сервис позволяет нескольким приложениям использовать один TCP�

порт для получения входящих сообщений по соответствующему прото�

колу. Данный сервис принимает запросы и автоматически перенаправля�

ет их соответствующим сервисам в зависимости от адреса получателя.

Например, сервис�ориентированные приложения, построенные на осно�

ве WCF, могут использовать один порт. Разделение портов между несколь�

кими приложениями является частым требованием при использовании

межсетевых экранов (firewall) или при ограничениях на число одновре�

менно открытых портов или когда требуется одновременная работа не�

скольких экземпляров WCF�приложения. Совместное использование порта

(мультиплексирование) работает только в том случае, когда WCF�прило�

жения используют протокол net.tcp для входящих коммуникаций.

Распределенные транзакцииПриложения, выполняющие обновления в различных базах данных или в

других транзакционных ресурсах, должны поддерживать транзакции — все

обновления либо успешно выполнены, либо все отменены. Поддержка

распределенных транзакций в Windows Server 2008 обеспечивает выпол�

нение этих требований. Отметим, что распределенные транзакции впер�

вые стали поддерживаться в Microsoft Windows NT Server 4.0.

Microsoft Message Queue 4.0В состав Windows Server 2008 также входит новая версия коммуникацион�

ной технологии на основе обмена сообщениями, распространяемыми через

очереди — Microsoft Message Queue 4.0. Среди новинок в данной версии от�

метим появление подочередей, возможность обработки «отравленных» со�

общений, а также удаленное получение сообщений в рамках транз�акций.

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

для физических очередей. С помощью подочередей возможна реализация

Page 73: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 5 Windows Server 2008 как сервер приложений 73

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

эффективной обработки и возможность вынесения сообщений, которые

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

подочередь. Более подробно о подочередях см. на сайте MSDN по адресу:

http://msdn2.microsoft.com/en�us/library/ms711414.aspx.

Так называемые «отравленные» сообщения — это сообщения, число по�

пыток обработки которых превысило заданный максимум. В MSMQ 4.0

появилась возможность переноса приложений из основной очереди в

очередь, называемую retry queue. Это позволяет приложениям продолжить

обработку сообщений из основной очереди и позднее вернуться к обра�

ботке «отравленного» сообщения. Более подробно о работе с «отравлен�

ными» сообщениями см. на сайте MSDN по адресу: http://msdn2.microsoft.

com/en�us/library/ms703179.aspx.

Удаленное получение сообщений в рамках транзакций представляет

собой транзакционное получение сообщения из удаленной очереди.

В предыдущих версиях Message Queuing (MSMQ) такая возможность не под�

держивалась и Microsoft рекомендовала не использовать доступ к удален�

ным очередям вне транзакции. Более подробно о работе с удаленными

очередями см. на сайте MSDN по адресу: http://msdn2.microsoft.com/en�us/

library/ms700128.aspx.

Версии Windows Server 2008Роль Application Server поддерживается во всех изданиях Windows Server

2008 — Windows Server 2008 Standard, Windows Server 2008 Enterprise, Win�

dows Server 2008 Datacenter, Windows Server 2008 for Itanium�Based Systems,

но не доступна в издании Windows Web Server 2008.

Page 74: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6

Windows Server 2008как веб-сервер

Page 75: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

В этой части мы продолжим рассмотрение Windows Server 2008 в роли сер�

вера приложений и обратим внимание на компонент, известный под назва�

нием Internet Information Services 7.0 (IIS 7). Данный компонент — это

больше чем просто веб�сервер. IIS 7 — это защищенная, простая в управле�

нии платформа для разработки и хостинга веб�приложений и сервисов.

Internet Information Services 7.0 (IIS 7) содержит существенное число нови�

нок и расширений, которые могут быть интересны как для IT�специалистов,

так и для компаний, занимающихся хостингом и для разработчиков.

Internet Information Services 7.0для IT-специалистовДля IT�специалистов Internet Information Services 7.0 представляет собой

надежный, защищенный и легко управляемый веб�сервер. Благодаря на�

страиваемой процедуре установки IIS 7, администраторы могут существен�

но уменьшить область атак (attack surface), минимизировать число обнов�

лений и снизить объем ресурсов, требуемых для развертывания веб�инф�

раструктуры. веб�сайты, работающие под управлением IIS 7, а также вы�

полняющиеся на сервере приложения, более защищены от внешних воз�

действий за счет автоматической изоляции, конфигурации и генерации

уникальных идентификаторов процессов.

Управление сервером IIS 7 стало существенно проще — администра�

торам стала доступна утилита, позволяющая выполнять основные настрой�

ки в виде серии упрощенных диалоговых панелей. Эта утилита, а также

новая утилита командной строки, предназначенная для администрирова�

ния, WMI�провайдер и набор программных интерфейсов для управляемого

кода (.NET API) делают администрирование веб�сайтов и приложений более

эффективным. В IIS 7 также реализовано более простое управление веб�

фермами — конфигурация веб�сервера, код приложения и его содержи�

мое могут хранится на централизованном файл�сервере и совместно ис�

пользоваться несколькими веб�серверами.

Администраторы также могут делегировать административные полно�

мочия владельцам сайтов, которые могут конфигурировать веб�сервер через

файл web.config или используя утилиту Remote IIS Manager и удаленное

соединение через HTTP/SSL при работе под управлением Windows Vista,

Windows XP, Windows Server 2003 и Windows Server 2008.

Internet Information Services 7.0для веб-хостеровДля веб�хостеров Internet Information Services 7.0 — это эффективный по

затратам, масштабируемый веб�сервер, позволяющий создавать решения

Page 76: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6 Windows Server 2008 как веб-сервер 77

для хостинга, предназначенные для большого числа потребителей. Сни�

жение затрат на хостинг с использованием IIS 7 достигается за счет ис�

пользования новой, масштабируемой архитектуры, которая поддержива�

ет хостинг тысяч веб�сайтов на одном сервере. IIS 7 позволяет веб�хосте�

рам обслуживать большее число пользователей за счет использования

нового модуля — FastCGI, который обеспечивает быструю и надежную об�

работку для PHP и других веб�технологий. Входящий в состав IIS 7 FTP�

сервер обеспечивает хостеров полностью интегрированным веб/FTP�сер�

вером, который поддерживает все современные механизмы публикации,

включая FTP/SSL и аутентификацию на базе членства (membership�based

authentication).

Internet Information Services 7.0для разработчиковИ, наконец, для разработчиков, Internet Information Services 7.0 представ�

ляет собой гибкий, более расширяемый веб�сервер, который может исполь�

зоваться для разработки и развертывания веб�приложений на Windows Vista

и Windows Server 2008. В IIS 7 поддерживается полноценная модульная

архитектура, состоящая из более чем 40 модулей, каждый из которых ба�

зируется на программном интерфейсе, обеспечивающем расширяемость

функциональности. Разработчики могут создавать новые модули или за�

мещать существующие — для этого можно использовать как традицион�

ные языки программирования, так и .NET�языки.

Помимо этого у разработчиков есть возможность расширения конфи�

гурации IIS 7 и создания утилит для управления сервером, которые могут

быть встроены в новую административную утилиту — IIS Manager. Разра�

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

интерфейсы — IIS 7 поддерживает «классическую» технологию Active Server

Pages (ASP) и ASP.NET с возможностью расширения функциональности

сервера через библиотеку классов .NET Framework, обеспечивает такие

сервисы ASP.NET, как аутентификация на базе форм, кэширование выход�

ной информации, которые доступны для всех типов приложений.

Помимо этого IIS 7 поддерживает большинство современных техноло�

гий создания веб�приложений, включая PHP, PERL, ColdFusion, Ruby и ряд

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

хранить настройки в файлах Web.config — таким образом приложения мо�

гут предварительно сконфигурированы и развернуты на IIS 7 командой

xcopy. Такой подход позволяет разработчикам быстрее обнаруживать

ошибки, снижать время на разработку и развертывание, минимизировать

время простоя сайтов.

Page 77: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

78 Глава 6 Windows Server 2008 как веб-сервер

После того как мы познакомились с тем, какая новая функциональность

в Internet Information Services 7.0 может представлять интерес для IT�спе�

циалистов, так и для компаний, занимающихся хостингом и для разработ�

чиков, давайте рассмотрим ключевые новинки в IIS 7 более подробно.

Ключевые новинки в InternetInformation Services 7.0В настоящее время одним из самых популярных, надежных и масштаби�

руемых веб�серверов является веб�сервер IIS 6. За примерами далеко хо�

дить не надо: построенный на Internet Information Services 6.0 сайт MySpace

обслуживает 23 млрд. обращений в месяц, сайт Microsoft.com (до недав�

него времени работавший под управлением IIS 6) обслуживает 10 тыс.

обращений в секунду и 300 тыс. одновременных соединений, а сайт

Match.com (работающий на IIS 6) — 30 млн. обращений в день. С момента

выпуска IIS 6 не было обнаружено ни одной критической уязвимости, а

по данным port80software.com более чем 54% компаний, входящих в спи�

сок Fortune 1000, используют IIS 6 для обеспечения каждодневных бизнес�

операций. Новая версия веб�сервера, Internet Information Services 7.0, про�

должает развитие веб�платформы Microsoft и включает ряд расширений

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

ширяемой и способной к решению новых задач, возникающих перед раз�

работчиками и администраторами.

Ключевые новинки в Internet Information Services 7.0

Page 78: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6 Windows Server 2008 как веб-сервер 79

Модульная архитектура и расширяемостьНовая архитектура веб�сервера основана на компонентном подходе, позво�

ляющем обеспечить гибкость и расширяемость. Это означает, что функци�

ональность IIS 7 реализована в виде набора модулей, которые могут быть

не только добавлены или удалены, в зависимости от тех или иных задач,

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

бители сервисов могут существенно сократить затраты на обеспечение

безопасности, развертывание, установку обновлений, имея при этом всю

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

Модульную архитектуру, реализованную в IIS 7, можно условно разде�

лить на две группы — модульный канал обработки запросов (pipeline) и

модульный интерфейс администрирования. Модульный канал обработки

запросов предоставляет набор из более чем 40 модулей, обеспечивающих

функциональность сервера. При необходимости, модули могут быть уда�

лены или заменены на самостоятельно разработанные — это может по�

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

внешних атак, снизить ресурсы, используемые для поддержания функци�

онирования сервера или увеличить производительность. Как мы уже от�

метили выше, самостоятельно разрабатываемые модули могут быть напи�

саны как на традиционных языках, так и на «управляемом» коде. В после�

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

процесса разработки, интегрироваться с инфраструктурой и легко вклю�

чать в состав решений на базе IIS поддержку новых технологий.

Чтобы понять преимущества модульной архитектуры, вспомним, как

происходит обработка запроса в IIS 6. Данный веб�сервер является моно�

литным с точки зрения дизайна — вся его функциональность реализова�

на в виде одной динамически загружаемой библиотеки — w3core.dll. Та�

кой подход затруднял настройку и отладку. Например, если вам не требо�

валась поддержка Digest Authentication, вы могли отключить эту опцию,

но код, обеспечивающий данную функциональность, все равно загружал�

ся в память. Технология ASP.NET активизировалась при обращении к ре�

сурсам с соответствующими расширениями имен файлов и загружалась в

рабочий процесс сервера (W3WP) по требованию, через соответствующий

обработчик запросов — ISAPI Handler. Это происходило уже на этапе об�

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

событий, включая, например, аутентификацию. Добавление функциональ�

ности было возможно только через создание ISAPI�фильтров, обрабаты�

вающих соответствующие входящие и исходящие запросы. Создание та�

ких фильтров требовало определенных усилий — можно было использо�

вать только язык С++.

Page 79: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

80 Глава 6 Windows Server 2008 как веб-сервер

Обработка запросов в IIS 6

В IIS 7 монолитная функциональность IIS 6 была разделена на более чем

40 модулей. Эти модули регистрируют себя как обработчики событий, воз�

никающих при прохождении запроса, таких как аутентификация, выпол�

нение, отсылка результата обработки и т. п. Так как IIS 7 может автомати�

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

традиционном и «управляемом» коде могут совместно обслуживать поток

запросов. Это означает, что можно создавать http�модули и обработчики и

регистрировать их в IIS. Эти модули выполняются внутри IIS и могут обра�

батывать любые типы запросов, а не только запросы, обращенные к ASP.NET.

Обработка запросов в IIS 7

Page 80: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6 Windows Server 2008 как веб-сервер 81

Напомним отличие между обработчиками и модулями. Модули обеспе�

чивают обработку всех запросов. Примеры: модуль аутентификации, мо�

дуль сжатия и т. п. Обработчики предоставляют сервисы для определен�

ных расширений имен файлов. Могут быть ISAPI�обработчики (.dll) и ста�

тические обработчики (.htm, .jpg, .gif, и т. п.) В IIS 7 все модули и обработ�

чики могут быть реализованы как на традиционном, так и на управляе�

мом коде. Эти модули и обработчики могут работать как в рамках интег�

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

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

соб вызова .NET, совместимый с IIS 6.

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

IIS 7.

Основные модули, входящие в состав IIS 7

Создание модуля на управляемом коде требует выполнения ряда шагов:

� Создание класса, реализующего интерфейс IHttpModule;

� Написание кода для метода Init, который инициализирует модуль и

подписывается на события;

� Написание кода для обработки событий, на которые модуль подписан;

� Реализация метода Dispose;

� Регистрация модуля в файле Web.config или в файле Applicationhost.

config.

Шаблон модуля на управляемом коде показан ниже.

Page 81: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

82 Глава 6 Windows Server 2008 как веб-сервер

public class BasicAuthenticationModule : System.Web.IHttpModule

{

void Init(HttpApplication context)

{

}

void Dispose()

{

}

}

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

обрабатываться в модулях.

Основные события на уровне канала обработки

После того как класс модуля создан, в методе Init мы подписываемся

на интересующие нас события:

public void Init(HttpApplication context)

{

//

// Подписаться на событие authenticate для

// выполнения аутентификации

//

context.AuthenticateRequest += new

EventHandler(this.AuthenticateUser);

//

// Подписаться на событие EndRequest для дальнейшей обработки

//

context.EndRequest += new

Page 82: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6 Windows Server 2008 как веб-сервер 83

EventHandler(this.IssueAuthenticationChallenge);

}

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

конфигурацию IIS 7. Модуль может добавлен как глобальный модуль (файл

Applicationhost.config), как локальный (файл Application�host.config), например:

в группу <Global Modules>:

<add

name=”HttpCacheModule”

image=”%windir%\System32\inetsrv\cachhttp.dll”

/>

или в группу <Modules>:

<add

name=”FormsAuthentication”

type=”System.Web.Security.FormsAuthenticationModule”

preCondition=”managedHandler”

/>

или в файл Web.config, например:

<configuration>

<system.webServer>

<modules>

<add name=”MyBasicAuthenticationModule“

type=”IIS 7Demos.BasicAuthenticationModule” />

</modules>

</system.webServer>

</configuration>

При необходимости можно указать определенную последовательность

выполнения модулей. Модули можно добавлять с помощью утилиты IIS

Manager, пакетной утилиты APPCMD, через интерфейс WMI, с помощью

утилиты PowerShell или программно, используя пространство имен Micro�

soft.Web.Administration.

Для создания обработчиков на управляемом коде необходимо выпол�

нить следующие шаги:

� Создать класс, реализующий интерфейс IHttpHandler;

� Добавить код для метода ProcessRequest – этот метод получает параметр

типа HttpContext, который обеспечивает к встроенным контекстным

объектам Request, Response и ряду других;

� Задать значение свойства IsReusable, определяющего, могут ли другие

запросы использовать данный обработчик;

� Сконфигурировать обработчик в файле Applicationhost.config или

web.config.

Page 83: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

84 Глава 6 Windows Server 2008 как веб-сервер

Второй механизм расширения — это модульный интерфейс. Как мы по�

мним, утилита администрирования в IIS 6 на базе Microsoft Management

Console (MMC) была не очень простой для подключения расширений. Новая

утилита в IIS 7 — IIS 7 Manager (IISMGR) поддерживает модульный дизайн,

позволяющий добавлять новые управляющие элементы, удалять и добав�

лять функциональность, добавлять страницы, созданные на базе Windows

Forms, интегрировать конфигурацию приложений непосредственно в

IISManager и систему конфигурации сервера.

Интеграция с .NETВпервые в семействе веб�серверов компании Microsoft в IIS 7 реализова�

на полная интеграция с ASP.NET, что предоставляет разработчикам и ад�

министраторам ряд следующих преимуществ: облегчает администрирова�

ние и повышает безопасность приложений, обеспечивает доступ к функ�

циональности .NET на уровне модулей на управляемом коде — аутенти�

фикация на базе форм, авторизация на уровне URL, кэширование .NET, ис�

пользование ролевых провайдеров, использование новых программных

интерфейсов для управления IIS 7, возможность развертывания приложе�

ний командой Xcopy.

В IIS 6 интеграция с ASP.NET происходила следующим образом: ASP.NET

загружалась как ISAPI�приложение ISAPI�обработчиком. Отметим, что в

обработчике запросов IIS 6 есть механизм аутентификации, но схожий

механизм присутствует и в ASP.NET. В ASP.NET есть собственно отражение

обработчиков, так же как и в IIS 6 — в IIS 6 есть свои обработчики оши�

бок, система кэширования, все это есть и в ASP.NET, но работает по�дру�

гому — это показано на следующем рисунке. Такое дублирование приво�

дит к непониманию, какой компонент в конечном итоге будет обрабаты�

вать различные активности.

Интеграция с ASP.NET в IIS 6

Page 84: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6 Windows Server 2008 как веб-сервер 85

В IIS 7 возможности ASP.NET перенесены в ядро обработки запросов

(т. н. core pipeline). Это сделало возможным использование ASP.NET для всех

типов запросов, а не только запросов к .NET�приложениям. Таким обра�

зом, если требуется использование аутентификации на базе форм для сайта

на PHP, это возможно реализовать в IIS 7. Так же поддержка .NET делает

более быстрой возможность реализации новых функций и поддержки

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

будут использоваться в IIS 7, важно помнить о двух режимах, в которых

они могут выполняться. В IIS 7 существует два пула приложений — «клас�

сический», который используется в IIS 6 и вызывает ASP.NET через ISAPI�

расширение, и интегрированный пул, когда CLR загружается для предос�

тавления сервисов модулям и обработчикам на управляемом коде. Эти два

режима показаны на следующем рисунке.

Два режима выполнения управляемого кода

В IIS 7 не поддерживается режим IIS 5 — Worker Process Isolation Mode,

который позволяет использовать ISAPI�фильтры в режиме Read Raw Data —

это невозможно из�за особенностей архитектуры IIS 7. Для поддержки тако�

го режима потребуется использовать IIS 6 в режиме совместимости с IIS 5.

Средства управления и администрированияВ состав IIS 7 входит набор различных средств администрирования, вклю�

чая новый пользовательский интерфейс, новую утилиту командной стро�

ки, новое пространство имен для программного управления и новый про�

граммный интерфейс для скриптинга.

Новое в IIS 7 средство администрирования IIS Manager предоставляет

новый, более эффективный способ управления веб�сервером. Эта утили�

та поддерживает конфигурацию как IIS, так и ASP.NET, позволяет делеги�

ровать управление, управлять безопасностью, диагностикой и другими

Page 85: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

86 Глава 6 Windows Server 2008 как веб-сервер

функциями. К другим особенностям этой утилиты относится поддержка

расширяемого интерфейса на основе .NET Framework, поддержка Windows

и не�Windows�учетных записей при делегировании управления и возмож�

ность удаленного администрирования по HTTP/SSL.

Новая утилита командной стоки (appcmd) служит для администриро�

вания сервера. Эта утилита может считывать и записывать конфигураци�

онные настройки, обращаться к потокам обработки сайтов и приложений

и выполнять другие действия, связанные с управлением сервером.

Для управления сервером в IIS 7 включен новый WMI�провайдер (root\

WebAdministration), который обеспечивает доступ к конфигурационной

информации и состоянию сервера из приложений на VBScipt и JScript.

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

ный интерфейс, реализованный в пространстве имен Microsoft.Web.Admi�

nistration. Этот интерфейс может использоваться как для управления сер�

вером, так и для доступа к информации о состоянии сервера, диагности�

ческой информации и конфигурации сервера. Ниже показан пример ис�

пользования программного интерфейса для получения списка запущен�

ных процессов и запросов:

ServerManager iisManager = new ServerManager();

foreach(WorkerProcess w3wp in iisManager.WorkerProcesses) {

Console.WriteLine(“W3WP ({0})”, w3wp.ProcessId);

foreach(Request request in w3wp.GetRequests(0)) {

Console.WriteLine(“{0} � {1},{2},{3}”,

request.Url,

request.ClientIPAddr,

request.TimeElapsed,

request.TimeInState);

}

}

Диагностика и обнаружение ошибокБыстрое обнаружение и исправление ошибок — одна из новинок в IIS 7,

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

предоставляет администраторам детальную информацию по каждому зап�

росу в реальном времени — с момента получения запроса сервером до его

прохождения по всем элементам приложения. Эти возможности IIS 7 со�

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

настраиваемые обработчики для URL. В этих обработчиках можно собирать

информацию о времени, потраченном на обработку запроса (например:

«записать в журнал все ответы с кодом 200 (ok), которые заняли более 15

сек.»), коды статуса и подстатуса HTTP (например: «записать в журнал все

Page 86: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 6 Windows Server 2008 как веб-сервер 87

ошибки с кодом 500 для Invoice.aspx»), а также коды ошибок. Диагности�

кой можно управлять из интерфейса администратора, через WMI, программ�

ные интерфейсы, а также из пакетной утилиты Appcmd.

Помимо этого, можно обрабатывать трассировочные события для моду�

лей, обработчиков и ASP.NET�страниц. Преимущества трассировки в IIS 7 по

сравнению с трассировкой на уровне ASP.NET заключаются в том, что в

IIS журналы сохраняются на диске, обрабатываются по запросу и обнов�

ляются в контексте всей обработки запроса. Таким образом данные, запи�

сываемые в таких журналах, сохраняются в XML и могут быть преобразо�

ваны стандартными средствами XSL — данные из таких журналов более

просты в потреблении другими утилитами и предоставляют структуриро�

ванные структуры и метаданные.

Хостинг веб-сервисовОбычно IIS ассоциируется с веб�сервером, обеспечивающим хостинг веб�

страниц и приложений, доступных веб�браузерам по протоколу HTTP.

В IIS 6 была введена концепция «пулов приложений» — мощной среды вы�

полнения, задающей границы процессов для веб�сайтов и приложений,

идентификаторы процессов, а также способы повторного использования

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

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

приложения и управлять их работой.

В IIS 7 подход, реализованный в IIS 6 для пулов приложений на уровне

протокола HTTP, стал доступным и для других протоколов. Этот сервис,

не зависящий от протоколов, называется «Windows Process Activation Ser�

vice» и предназначен, в первую очередь, для обслуживания сервисов, со�

зданных на базе Windows Communication Foundation — компонента .NET

Framework 3.0, позволяющего выбирать адаптеры протоколов, использу�

емых для активации сервисов. Сервис Web Activation Service (WAS) поддер�

живает активацию по протоколам TCP, Named Pipe, MSMQ или HTTP, обес�

печивает внешний мониторинг, повторное использование освобождаемых

ресурсов, общий доступ к состоянию сервисов из ASP.NET и ряд других

полезных функций.

ЗаключениеВ данной части обзора мы познакомились с ключевыми новинками в

Internet Information Services 7.0 — обсудили возможности для админист�

раторов и IT�специалистов, веб�хостеров и разработчиков, а также под�

робно остановились на рассмотрении модульной архитектуры, механиз�

мов расширения, интеграции с .NET, управляемости и расширенных сред�

ствах диагностики.

Page 87: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 7

Механизмывиртуализациив Windows Server 2008

Page 88: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Одна из ключевых новинок в Microsoft Windows Server 2008 — это поддерж�

ка механизмов виртуализации (Windows Server virtualization, Hyper�V), ко�

торые позволяют максимально эффективно использовать имеющиеся в

компаниях аппаратные ресурсы, обеспечивать бесперебойную работу

ключевых сервисов и бизнес�приложений, а также поддерживают среды,

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

операционных систем (т. н. legacy applications) и среды, позволяющие

эмулировать различные программные и аппаратные компоненты для обес�

печения разработки и тестирования широкого класса бизнес�приложений,

сервисов и различных утилит.

В данной части обзора мы рассмотрим основные понятия, связанные

с виртуализацией, обсудим ключевые сценарии использования Hyper�V, а

также остановимся на ряде технических подробностей (включая архитек�

туру механизмов виртуализации) и рассмотрим основные моменты, свя�

занные с установкой и управлением механизмами виртуализации и их

компонентами — виртуальными машинами, виртуальными дисками и вир�

туальными сетями.

Виртуализация в Windows Server 2008

Виртуализация. Основные понятияWindows Server virtualization (Hyper�V) — это построенная на базе гипер�

визора виртуализационная платформа, которая в виде отдельной сервер�

ной роли работает под управлением 64�битной версии Windows Server 2008.

Рассмотрим основные характеристики виртуализационной платформы в

Windows Server 2008.

Page 89: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 7 Механизмы виртуализации в Windows Server 2008 91

� Наличие гипервизора. Виртуализация в Windows Server 2008 реали�

зована на основе гипервизора — программного компонента, который

представляет собой тонкий слой кода, оптимизированного для обес�

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

мого между операционной системой и аппаратной платформой. Исполь�

зование гипервизора помогает более эффективно предоставить доступ

к аппаратным ресурсам любой гостевой операционной системы, вы�

полняемой на виртуализационной платформе. Максимально упрощен�

ный доступ к ресурсам позволяет создавать существенно более высо�

копроизводительные решения — как для гостевых операционных сис�

тем семейства Windows, так и для систем других производителей.

� Поддержка стандартов. Виртуализация в Windows Server 2008 реа�

лизована на основе таких стандартов, как Windows Management Instru�

mentation (WMI). На уровне платформы полностью поддерживаются

программные интерфейсы, которые могут быть использованы сторон�

ними организациями для создания собственных механизмов управле�

ния платформой и расширения уже существующих. Многие аспекты

виртуализации в Windows Server 2008 могут управляться средствами

Windows PowerShell.

� Использование 64�битной версии Windows Server 2008. Виртуа�

лизация в Windows Server 2008 поддерживается только на 64�битной

платформе; эта роль не доступна для 32�битных изданий сервера. Под�

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

производительность и масштабируемость виртуальных решений, осо�

бенно тех, которым требуются большие объемы памяти.

� Использование аппаратной виртуализации. Виртуализация в Win�

dows Server 2008 требует наличия аппаратной поддержки виртуализа�

ции на уровне центрального процессора. В настоящий момент аппа�

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

соров AMD и Intel. Отметим, что даже при наличии в системе процес�

сора с аппаратной поддержкой виртуализации, в большинстве систем

эта функциональность должна быть активирована на уровне BIOS.

� Поддержка механизмов DEP. Виртуализация в Windows Server 2008

требует наличия аппаратной поддержки механизмов защиты от выпол�

нения данных (Data Execution Protection, DEP) на уровне центрально�

го процессора. Механизм DEP обеспечивает защиту от вредоносного

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

в тех областях памяти, где не предполагается нахождение выполняе�

мого кода. На платформе Intel механизм DEP называется «бит XD (XD

Bit)», на платформе AMD — «бит NX (NX Bit)». Большинство процессо�

ров с аппаратной поддержкой виртуализации также обеспечивают и ап�

паратную поддержку механизмов защиты от выполнения данных. Бо�

лее подробно о защите приложений в Windows Vista и Windows Server

Page 90: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

92 Глава 7 Механизмы виртуализации в Windows Server 2008

2008 см. «Технологии защиты приложений в Windows Vista иWindows Server 2008».

Виртуализация. Ключевые сценарииВиртуализационная платформа в Windows Server 2008 создавалась, в пер�

вую очередь, для реализации четырех ключевых сценариев: консолидация

серверов, обеспечение надежной работы, динамические центры обработки

данных и поддержка разработки и отладки приложений.

Консолидация серверовВиртуализационная платформа в Windows Server 2008 позволяет консо�

лидировать, объединить несколько физических серверов в единую аппа�

ратную платформу, на которой выполняются несколько виртуальных сер�

веров. В результате такого объединения мы получим центр обработки

данных с существенно меньшими аппаратными требованиями и затрата�

ми на обслуживание. Объединение нескольких серверов с низкой утили�

зацией ресурсов в один сервер, работающий под управлением Windows

Server 2008, позволит снизить затраты на сопровождение и управление,

традиционно связанные с использованием многочисленных физических

серверов и получить более высокую отдачу от инвестиций в аппаратную

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

ные машины обеспечивает большую безопасность за счет полной изоля�

ции от аппаратной платформы.

Обеспечение надежной работыОбеспечение надежной работы — это сценарий, в котором функциони�

рование бизнеса продолжается даже после того, как центр обработки дан�

ных получил серьезные физические повреждения. Использование Windows

Server 2008 и поддерживаемой в нем виртуализационной платформы яв�

ляется ключевым для обеспечения беспрерывной работы ключевых биз�

нес�функций. Виртуальные машины, поддерживаемые в данной виртуали�

зационной платформе, обладают высокой переносимостью, платформы,

не зависящие от каких�либо специфичных аппаратных конфигураций,

могут переноситься с одного центра обработки данных на другой, а при

совместном использовании с механизмами быстрой миграции, «живой»

миграции или отказоустойчивых кластеров, виртуальные машины, рабо�

тающие под Windows Server virtualization, могут быть переведены на дру�

гой сервер практически без перерывов в работе сервисов.

Page 91: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 7 Механизмы виртуализации в Windows Server 2008 93

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

более эффективно управлять предоставлением ресурсов по требованию,

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

масштабируемости и доступности серверов и сервисов. Используя такие

возможности, как добавление памяти, аппаратных или сетевых компонен�

тов «на лету», администраторы могут строить центры обработки данных,

которые могут легко масштабироваться в ответ на динамические запро�

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

Разработка и отладка приложенийЗа счет возможности создания различных серверных конфигураций без

необходимости в приобретении дорогостоящих аппаратных средств и

выполнении специфических настроек, администраторы могут легко под�

держивать среду для разработки и отладки приложений. При использова�

нии System Center Virtual Machine Manager, виртуализация в Windows Server

2008 позволяет создавать виртуальные машины «по требованию», которые

отвечают большинству требований, связанных с разработкой и тестиро�

ванием широкого класса приложений и сервисов.

Виртуализация.Технические подробностиРассмотрим устройство механизмов виртуализации в Windows Server 2008

более подробно. Со стороны виртуализация в Windows Server 2008 может

показаться похожей на предыдущую платформу — Microsoft Virtual Server,

но на самом деле, это два принципиально разных продукта. В Hyper�V

поддерживаются ключевые операции, знакомые администраторам по пре�

дыдущим реализациям серверной виртуализации — создание и управле�

ние виртуальными машинами, работа с виртуальными жесткими дисками

(VHD), установка расширений и дополнений к виртуальным машинам, а

также работа с виртуальными сетями. Но, несмотря на схожесть в базо�

вом наборе функциональных возможностей, реализация этой функцио�

нальности в Hyper�V существенно отличается от предшественников. Ниже

мы рассмотрим архитектуру виртуализации в Windows Server 2008.

Как мы уже знаем, виртуализация в Windows Server 2008 реализована

на основе гипервизора. Этот программный компонент выполняет функ�

ции, которые ранее были реализованы в программных компонентах, от�

вечающих за управление виртуальными машинами. Гипервизор не требу�

ет использования каких�либо драйверов и работает на процессорах с

аппаратной поддержкой виртуализации — таких, как AMD�V и Intel VT.

Page 92: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

94 Глава 7 Механизмы виртуализации в Windows Server 2008

Архитектура Windows Server 2008 Virtualization

Гипервизор управляет ресурсами за счет разделения системы на раз�

делы. Гипервизор поддерживает два типа разделов — родительский раз�

дел и дочерний раздел. В родительском разделе располагаются операци�

онная система и компоненты механизмов виртуализации. В системе мо�

жет быть только один родительский раздел. Дочерний раздел представ�

ляет собой виртуальную машину и при каждом создании новой виртуаль�

ной машины для нее создается новый дочерний раздел.

В механизмах виртуализации Windows Server 2008 используется т. н.

микроядерный гипервизор (microkernelized hypervisor). Такой гипервизор

не содержит драйверов и полагается на драйвера, установленные в роди�

тельском разделе (операционной системе, выполняющей хостинг вирту�

ализационных механизмов) для доступа к различным аппаратным ресур�

сам. Сам же гипервизор обеспечивает доступ к таким ресурсам, как про�

цессор и память. Такая модель позволяет установить гипервизор на лю�

бую платформу, поддерживающую выполнение Windows Server 2008, и

содержащую аппаратную поддержку механизмов виртуализации. В отли�

чие от используемого в Hyper�V модели многоядерного гипервизора, мо�

нолитный гипервизор представляет собой больший по объему программ�

ный компонент, который использует драйверы, установленные непосред�

ственно в гипервизоре. Тогда как эта модель обеспечивает чуть более

высокую производительность, она ограничивает набор аппаратных плат�

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

какого�то аппаратного ресурса нет драйвера, специфичного для гиперви�

зора, такой ресурс не будет доступен ни в родительской, ни в гостевой

операционных системах.

Виртуализация в Windows Server 2008 управляется через Windows Mana�

gement Instrumentation (WMI). Провайдеры WMI содержат объекты, позво�

Page 93: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 7 Механизмы виртуализации в Windows Server 2008 95

ляющие управлять различными аспектами механизмов виртуализации в

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

конфигурировать виртуальные машины, управлять запущенными вирту�

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

доступны через пространство имен root\MSVM. Используя провайдер WMI,

можно управлять механизмами виртуализации через Windows PowerShell,

System Center Virtual Machine Manager, а также с помощью различных утилит

сторонних производителей.

Провайдер виртуализационных сервисов (virtualization service provider)

работает на операционной системе, выполняющей хостинг, и обеспечи�

вает доступ ко всем аппаратным ресурсам компьютера. Виртуальные ма�

шины, использующие гипервизор, общаются с аппаратными ресурсами

через провайдера виртуализационных сервисов.

Клиент виртуализационных сервисов обеспечивает доступ виртуальных

машин, работающих под управлением механизмов виртуализации, к ре�

сурсам компьютера. Важно отметить, что виртуализированные аппарат�

ные ресурсы, это не то же самое, что эмулированные ресурсы. В предыду�

щих версиях продуктов для виртуализации, таких как Microsoft Virtual Server

и Microsoft Virtual PC, обеспечивалась эмуляция аппаратных ресурсов для

поддержки совместимости с максимальным числом дочерних операцион�

ных систем. Эта модель требует, чтобы все запросы к аппаратным ресур�

сам выполнялись и через драйвер эмуляции дочерней операционной си�

стемы и через обычный драйвер хостинговой операционной системы, что

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

операционных систем. В механизмах виртуализации Windows Server 2008

поддерживаются «синтетические» аппаратные ресурсы в виде клиента

виртуализационных сервисов, обеспечивающего максимальную произво�

дительность для дочерних виртуальных машин — это достигается за счет

перенаправления аппаратных запросов непосредственно провайдеру сер�

висов хостинговой системы. Виртуальные машины, не поддерживающие

виртуализацию на уровне гипервизора, по�прежнему используют тради�

ционную аппаратную эмуляцию.

Установка и управлениевиртуализациейНиже мы кратко рассмотрим ключевые моменты, связанные с установкой

механизмов виртуализации, а также управлением различными операция�

ми — конфигурация, создание и управление дисками, управление вирту�

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

После установки виртуализации, которая, как мы помним, является

отдельной ролью в Windows Server 2008 и поэтому требует использова�

Page 94: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

96 Глава 7 Механизмы виртуализации в Windows Server 2008

ния Server Manager, мы можем выполнить базовую проверку, которая по�

зволит нам убедиться, что виртуализация установлена и работает коррек�

тно . Для этого в Server Manager в разделе Diagnostics выберем панель Services

и убедимся в том, что сервис Virtual Machine Management Service имеет

статус Started.

Поддержка виртуальных дисков (VHD) схожа с поддержкой в преды�

дущих версиях виртуализации и базируется на файлах специального фор�

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

машины. Виртуальные машины могут иметь несколько виртуальных дис�

ков, подключенных к различным типам интерфейсов — IDE, SCSI и т. п.

Виртуальные диски могут иметь фиксированный или динамически изме�

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

сравнению с динамическими дисками, но их объем ограничен. Динами�

ческие диски наиболее эффективно используют дисковое пространство

и лучше всего подходят для использования при разработке и тестирова�

нии приложений.

Поддержка виртуальных дисков

Механизмы виртуализации и соответствующие утилиты поддержива�

ют ряд операций над виртуальными жесткими дисками: сжатие (удаление

нулевых разделов), преобразование (изменение типа диска — с динами�

ческого на диск с фиксированным размером и наоборот) и расширение

(добавление дискового пространства к существующему виртуальному дис�

ку), а также получение информации о диске и объединение дисков.

Возможность работы с виртуальными сетями (которые были схожи с

сетевыми хабами) появилась в Microsoft Virtual Server 2005. Каждая вир�

Page 95: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 7 Механизмы виртуализации в Windows Server 2008 97

туальная сеть могла быть соединена с одним физическим сетевым адап�

тером, что позволяло виртуальным машинам обмениваться информаци�

ей по физической сети. В механизмах виртуализации Windows Server 2008

описанная выше концепция расширена и добавлено понятие виртуальных

маршрутизаторов (virtual switches). Виртуальные переключатели расши�

ряют функциональность виртуальных сетей включая обеспечение возмож�

ности коммуникации с виртуальными сетями по физической сети. Ком�

пьютер, на котором запущена Hyper�V, может выполнять несколько вир�

туальных машин, каждая из которых присоединена к различным физичес�

ким сетевым картам, а каждая физическая сетевая карта присоединена к

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

В такой конфигурации каждый виртуальный переключатель общается толь�

ко с соответствующей виртуальной сетью на физическом переключателе,

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

Помимо управления виртуальными дисками и сетями, механизмы вир�

туализации в Windows Server 2008 поддерживают утилиты для управления

виртуальными машинами — создание виртуальных машин, управление их

настройками и управление запущенными виртуальными машинами через

Virtual Machine Connection на базе Remote Desktop Protocol.

Управление виртуальными машинами

Механизмы виртуализации поддерживают виртуальные машины, создан�

ные средствами Virtual Server 2005, Virtual PC 2004, Virtual PC 2007 и Win�

dows Server virtualization.

Отметим, что существует возможность установки Hyper�V в режимах Full

Windows Server 2008 и Server Core, а также имеется способ управления

Page 96: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

98 Глава 7 Механизмы виртуализации в Windows Server 2008

только через Microsoft Hyper�V Servers ММС�консоль. Подробнее об этом

см. по адресу http://www.microsoft.com/windowsserver2008/virtualization/

install.mspx.

ЗаключениеМеханизмы виртуализации, появившиеся в Windows Server 2008, позволяют

реализовать выполнение ключевых сценариев, в основе которых лежит

существенное повышение утилизации имеющихся аппаратных ресурсов.

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

более 15% существующих ресурсов — развертывание механизмов вирту�

ализации и консолидация серверов позволят увеличить утилизацию ап�

паратных ресурсов до 50�ти и более процентов.

Ресурсы� Microsoft Virtualization Home

� http://www.microsoft.com/windowsserversystem/virtualization/default.mspx

� Windows Server Virtualization – An Overview

� http://www.microsoft.com/windowsserversystem/virtualserver/techinfo/

virtualization.mspx

� Windows Server Virtualization on Microsoft TechNet

� http://technet2.microsoft.com/windowsserver2008/en/servermanager/

virtualization.mspx

� Windows Virtualization Team Blog

� http://blogs.technet.com/virtualization/default.aspx

� Virtual PC Guy’s WebLog

� http://blogs.msdn.com/virtual_pc_guy/rss.xml

Page 97: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8

Windows Server 2008и совместимостьприложений

Page 98: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Операционные системы Windows Vista и Windows Server 2008 представ�

ляют собой дальнейшее развитие семейства операционных систем ком�

пании Microsoft, включают набор новых технологий и служат платфор�

мой для создания широкого спектра прикладных решений. Для повыше�

ния безопасности и улучшения механизмов взаимодействия с пользова�

телями, в Windows Vista и Windows Server 2008 появился ряд новинок и

расширений и улучшений существующих компонентов. В большинстве

случаев, Windows Vista и Windows Server 2008 обеспечивают высокий уро�

вень совместимости с приложениями, написанными для операционных

систем Microsoft Windows XP, Microsoft Windows Server 2003 с соответству�

ющими пакетами обновлений, но тем не менее, ряд новых и измененных

компонентов операционной системы может вызвать определенные про�

блемы при запуске и работе приложений. В данной части обзора мы об�

судим наиболее часто встречающиеся проблемы с совместимостью суще�

ствующих приложений с Windows Vista и Windows Server 2008.

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

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

наличие или отсутствие потенциальных проблем, связанных с совмести�

мостью с новыми версиями операционных систем:

1. На тестовом компьютере установите Windows Vista или Windows Server

2008.

2. Установите приложение. Если будет показан запрос на подтверждение

установки, выберите опцию Permit и установите приложение. Если

приложение установилось успешно, перейдите к шагу 6.

3. Если приложение не удалось установить и запрос на подтверждение

установки не появился на экране, щелкните правую кнопку мыши на

исполняемом файле инсталлятора, выберите опцию Run this programas administrator и повторите попытку установки приложения. Если

приложение установилось успешно, перейдите к шагу 6.

Примечание: Этот шаг не требуется, если приложение использует MSI�

инсталлятор.

4. Если в процессе установки приложения отображались сообщения об

ошибках, например связанных с версией операционной системы, ре�

гистрацией CLSID, копированием файлов, щелкните правую кнопку

мыши на исполняемом файле инсталлятора, выберите опцию Proper�ties, затем вкладку Compatibility и установите режим совместимости

с Windows XP SP2.

5. Вернитесь к шагу 2. Если вы не смогли установить приложение, перей�

дите к шагу 9.

6. Приложение должно быть установлено одним из описанных выше спо�

собов.

Page 99: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 101

7. Запустите приложение. Если приложение не запустилось, как ожидалось,

или вы получили сообщения об ошибках, установите режим совмести�

мости с Windows XP SP2 для исполняемого файла приложения и запу�

стите приложение еще раз.

8. Если приложение запустилось успешно, выполните полный набор те�

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

под Windows XP. Убедитесь в том, что приложение работает нормаль�

но и вся его функциональность доступна. Перейдите к шагу 10.

9. Если приложение не удалось установить или успешно запустить, вы

получили ошибки или сбои в процессе работы приложения, вам не

удалось выполнить функциональные тесты, то обратитесь к рекомен�

дациям, приведенным в данном обзоре.

10.На этом тест на совместимость завершен.

Возможные категории несовместимостей можно разделить на три боль�

шие группы: безопасность, защищенные компоненты операционной сис�

темы и появление новых или удаление устаревших функций.

Возможные категории несовместимостей

В свою очередь, показанные выше категории несовместимостей мож�

но разделить на две части — несовместимости, характерные как для Win�

dows Vista, так и для Windows Server 2008, и несовместимости, уникаль�

ные для Windows Server 2008. Начнем с группы несовместимостей, кото�

рые могут вызвать проблемы при запуске приложений как под управле�

нием клиентской операционной системы Windows Vista, так и серверной

операционной системы Windows Server 2008.

Page 100: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

102 Глава 8 Windows Server 2008 и совместимость приложений

Несовместимости, характерныедля Windows Vista и Windows Server 2008Несовместимости, входящие в данную группу, в первую очередь связаны

с новыми технологиями, реализованными в клиентской и серверной версии

операционной системы Windows. К ним относятся — User Account Control

(UAC), Windows Resource Protection (WRP), Mandatory Integrity Control (MIC),

изменение номера версии операционной системы и изоляция сессии 0.

Несовместимости, характерные для Windows Vista и Windows Server 2008

User Account Control (UAC)Принципиальный шаг в направлении повышения безопасности операци�

онных систем семейства Windows — предоставление пользователям воз�

можности работать под учетной записью «standard user», что дает им дос�

туп к ограниченному набору разрешений и привилегий. По умолчанию, в

Windows Vista и Windows Server 2008 все приложения выполняются под

учетной записью «standard user», даже в тех случаях, когда пользователь

является членом группы администраторов. При попытке запуска прило�

жения, требующего привилегий администратора, система запрашивает

подтверждения. Только приложения, выполняющиеся с административны�

ми привилегиями, могут модифицировать системные и глобальные на�

стройки и влиять на поведение системы. Такая функциональность в Win�

dows Vista и Windows Server 2008 называется User Account Control (UAC).

Дополнительная информация:

� User Account Control in Windows Vista

� http://go.microsoft.com/fwlink/?LinkId=62664

� Getting Started with User Account Control

� http://go.microsoft.com/fwlink/?LinkId=62669

� Developer Best Practices and Guidelines for Applications in a Least Privileged

Environment

� http://msdn2.microsoft.com/en�us/library/aa480150.aspx

Page 101: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 103

� UACBlog

o http://go.microsoft.com/fwlink/?LinkId=62676

Windows Resource Protection (WRP)Для увеличения стабильности системы, ее надежности и предсказуемос�

ти поведения, механизм Windows Resource Protection (WRP) защищает

систему Windows, поддерживая ее в режиме «только чтение». Эта функци�

ональность распространяется на файлы ядра операционной системы, папки

и ключи реестра. Обновления системных ресурсов возможны только при�

ложениями, которые известны операционной системе (OS trusted installers),

такими как, например, Windows Servicing. Такая защита позволяет макси�

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

ционной системы, от возможных воздействий со стороны других прило�

жений и администраторов.

Для того чтобы определить, защищен ли файл механизмом Windows

Resource Protection, можно выполнить следующие действия:

1. Из кода, используя функцию SfcIsFileProtected();

2. В Explorer проверить свойства файла:

� Открыть папку, в которой находится файл, свойства которого нас

интересуют;

� Щелкнуть правую кнопку мыши на интересующем нас файле и выб�

рать Properties;

� Файл, который защищен механизмом WRP, покажет, что режим Full

Control доступен только для учетной записи Trusted Installer. Для

учетных записей SYSTEM, Administrators и Users доступен только

режим Read.

Для того чтобы определить, защищен ли элемент реестра механизмом

Windows Resource Protection, можно выполнить следующие действия:

3. Из кода, используя функцию SfcIsKeyProtected();

4. В Registry Editor проверить свойства файла:

� Щелкнуть правую кнопку мыши на интересующем нас элементе ре�

естра и выбрать Properties;

� Элемент, который защищен механизмом WRP, покажет, что режим

Full Control доступен только для учетной записи Trusted Installer. Для

учетных записей SYSTEM, Administrators и Users доступен только

режим Read.

Mandatory Integrity Control (MIC)В качестве дополнительного уровня защиты от вредоносного программного

обеспечения в Windows Vista и Windows Server 2008 различные приложе�

Page 102: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

104 Глава 8 Windows Server 2008 и совместимость приложений

ния могут работать под одним из трех уровней привилегий (High, Medium

и Low). Приложения могут взаимодействовать с другими приложениями,

выполняющимися с тем же или более низким уровнем привилегий, но не

могут модифицировать или взаимодействовать с приложениями, выполня�

ющимися с более высоким уровнем привилегий. В большинстве случаев

приложения выполняются с уровнем привилегий Medium, а приложения,

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

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

Internet Explorer, выполняются с минимальными привилегиями.

Таким образом, приложения, выполняющиеся с низким уровнем при�

вилегий, не могут посылать сообщения приложениям, выполняющимся с

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

последние непосредственно не разрешили получение сообщений, исполь�

зуя функцию ChangeWindowMessageFilter(). Точно также приложения с

низкими привилегиями не могут модифицировать ссылки типа HWND,

владельцами которых являются приложения с более высокими привиле�

гиями. Для обеспечения совместимости, функция SendMessage() и ряд

других функций для отсылки сообщений возвращают код успешного за�

вершения, даже если выполнение таких функций заблокировано из�за

описанных выше проблем с уровнями привилегий.

Изменение номера версииоперационной системыВнутренний номер версии в операционных системах Windows Vista и

Windows Server 2008 равен 6. При вызове функции GetVersion() возвра�

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

сий ключевых операционных систем семейства Windows.

ОС Windows Windows Windows Windows Windows

2000 XP Server 2003 Vista Server 2008

Версия 5.0 5.1 5.2 6.0 6.0

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

выполнялась проверка >=6 и проверять не только версию операционной

системы, но и ее издание, так как может оказаться, что требуемая для ра�

боты приложения функциональность отсутствует в данном издании опе�

рационной системы.

Для обеспечения совместимости приложений с новым номером вер�

сии без их переделки, следует использовать т. н. Version Lie Shim — Properties

| Compatibility | Compatibility Mode.

Page 103: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 105

Version Lie Shim

Версия браузера Internet Explorer, входящего в состав Windows Vista и

Windows Server 2008, равна 7. Эта версия включена в строку User Agent,

которая включается в заголовок каждого HTTP запроса.

Изоляция сессии 0В Windows XP, Windows Server 2003 и более ранних версиях операцион�

ной системы Windows, все сервисы выполнялись в одной сессии — в той

сессии, которая создавалась для первого пользователя, подключившегося

к консоли. Эта сессия называется Session 0. Выполнение сервисов и пользо�

вательских приложений в одной сессии может приводить к нарушению

безопасности, так как сервисы выполняются с повышенными привилеги�

ями и, таким образом, являются потенциальными жертвами для вредонос�

ного кода.

Потенциальные возможности для атаки в Windows XP

В операционных системах Microsoft Windows Vista и Windows Server 2008

описанные выше возможности для атак со стороны вредоносного кода

сведены к минимуму за счет то, что сервисы изолированы в сессии 0 и, таким

образом, сессия, в которой выполняются сервисы, не является интерактив�

ной. В Windows Vista и Windows Server 2008 только системные процессы и

Page 104: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

106 Глава 8 Windows Server 2008 и совместимость приложений

сервисы выполняются в сессии 0. Первый пользователь, который подклю�

чается к консоли, загружается в сессии 1, следующие пользователи — в сессии

с увеличивающимися номерами. Это означает, что сервисы никогда не

выполняются в той же сессии, что и пользовательские приложения и, та�

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

Сессии в Windows Vista и Windows Server 2008

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

Например, в ряде случаев могут возникнуть проблемы с драйверами прин�

теров, которые загружаются сервисами спулера (spooler service), а также с

драйверами, созданными с помощью User Mode Driver Framework (UMDF),

так как такие драйвера располагаются в сессии 0. Помимо этого, могут воз�

никнуть проблемы с сервисами, которые создают интерфейсные элемен�

ты, с сервисами, которые пытаются использовать функции SendMessage()

и PostMessage() для взаимодействия с приложениями, а также с приложе�

ниями, создающими объекты с глобальными именами.

Дополнительная информация:

� Impact of Session 0 Isolation on Services and Drivers in Windows Vista

� http://go.microsoft.com/fwlink/?LinkId=62691

Несовместимости, уникальныедля Windows Server 2008К несовместимостям, уникальным для серверной операционной системы

Windows Server 2008, относятся: изменения в Active Directory, новые или

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

приложений доступен в Desktop Experience Pack, отсутствуют файлы

Page 105: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 107

DirectX/Media, требуется установка .NET Framework 3.0 и ряд других несу�

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

мы с функционированием некоторых приложений), новый тип установ�

ки операционной системы — Server Core, изменения в технологиях обес�

печения отказоустойчивых кластеров (Failover Clustering) и новая функ�

циональность в Windows Firewall.

Несовместимости, уникальные для Windows Server 2008

Изменения в Active DirectoryВ Windows Server 2008 Active Directory поддерживает унифицированную

модель, которая может быть расширена разработчиками системных и

прикладных решений. Эта модель предоставляет такие возможности, как:

� Единая архитектура и программная модель;

� Администрирование контроллеров доменов;

� Сервисы каталогов;

� Управление правами;

� Федерация сервисов;

� Интеграция сервисов мета�каталогов (ILM);

� Доменные контроллеры только для чтения (Read�Only Domain Controllers).

Для обеспечения унификации в наименовании компонентов Windows,

относящихся к Active Directory, были внесены некоторые изменения в

названия отдельных компонентов – они показаны в следующей таблице.

Старое название Новое название

Active Directory Domain Controller Active Directory Domain Services

Active Directory App mode Active Directory Lightweight Directory

Services

Windows Rights Management Services Active Directory Rights Management

Services

Windows Certificate Services Active Directory Certificate services

Identity integration feature pack Active Directory Metadirectory Services

Page 106: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

108 Глава 8 Windows Server 2008 и совместимость приложений

Новый компонент Windows Server 2008 — доменный контроллер с воз�

можностью только операций «чтение» (RODC) обеспечивает повышенную

безопасность — пароли пользователей и компьютеров не реплицируют�

ся и не хранятся в таких доменных контроллерах, но поддерживается т.

н. выборочное разрешение кэширования паролей. Помимо этого поддер�

живается однонаправленная репликация для AD и SYSVOL — использует�

ся атрибут Read Only Partial для отказа от репликации данных, но это тре�

бует дополнительной ручной настройки. Среди дополнительных харак�

теристик доменных контроллеров с возможностью только операций «чте�

ние» отметим поддержку разделения ключей Kerberos — каждый RODC име�

ет свою учетную запись KDC Krbtgt, ограниченные права записи в ката�

лог (для учетных записей Workstation, не членов группы «enterprise domain

controller» и не членов группы «domain domain controller»), упрощенность

системы за счет поддержки однонаправленных репликаций, упрощенную

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

умолчанию. Также отметим, что администратор RODC может не быть ад�

министратором домена — это предотвращает случайные модификации до�

мена администраторами компьютеров и тот факт, что поддерживается

возможность делегирования установки и восстановления RODC.

Примечательно, что RODC работает в существующей инфраструктуре —

в большинстве случаев не требуется изменений для DC или клиентов. Для

поддержки RODC требуется наличие режима Windows Server 2003 Forest

Functional Mode или PDC FSMO на Windows Server 2008 и рекомендуется

использовать несколько WS2K8 DC на один домен.

Тем не менее, в ряде сценариев мы можем столкнуться с некоторыми

проблемами, которые проявляются в том, что попытка записи в RODC либо

вызывает ошибку при вызовах RPC и LDAP, либо приводит к долгим задер�

жкам, появляющимся из�за ссылок на контроллер с возможностью запи�

си. Для исправления таких проблем рекомендуется изменить дизайн то�

пологии таким образом, чтобы функции записи не обращались к RODC.

Дополнительная информация:

� Подробное описание возможных несовместимостей

� http://technet2.microsoft.com/windowsserver2008/en/library/ea8d253e�

0646�490c�93d3�b78c5e1d9db71033.mspx?mfr=true

� Windows Server 2008 Active Directory

� http://www.microsoft .com/technet/technetmag/issues/2006/11/

FutureOfWindows/default.aspx

Новые или измененные серверные ролиОперационная система Windows Server 2008 является полностью компонен�

тизированной. Серверные роли в Windows Server 2008 полностью гранули�

Page 107: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 109

рованы и по умолчанию не активны. Серверные роли, которые были в пре�

дыдущих версиях Windows Server, имеют некоторые отличия, по сравнению

с ролями Windows Server 2008. Таким образом, есть небольшая вероятность,

что программы установки и приложения могут перестать работать, т. к. ожи�

даемые функции реализованы в новых или измененных ролях.

Серверные роли в Windows Server 2008

Например, роли, представляющие наибольший интерес для компаний

разработчиков — Web Server и Application Server — были одной ролью в

Windows Server 2003, а в новой версии сервера разделены на две — это

показано на предыдущем рисунке.

Для обнаружения и исправления возможных несоответствий и несов�

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

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

симости приложений от ролей и функций и включить соответствующие

компоненты перед установкой приложения — это можно сделать либо сред�

ствами Server Manager, либо в пакетном режиме, используя, например,

возможности, предоставляемые Windows PowerShell.

Дополнительная информация:

� Руководство по Windows Server 2008

� http://www.microsoft.com/windowsserver/longhorn/prodguide.mspx

� Installing and Managing Roles

� http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=103229 4712

&Culture=en�US

Page 108: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

110 Глава 8 Windows Server 2008 и совместимость приложений

Ролевые сервисы в Windows Server 2008

Server CoreВ Windows Server 2008 появился новый тип установки операционной си�

стемы, называемый Server Core. Server Core — это минимальная версия опе�

рационной системы Windows Server 2008, обеспечивающая серверную

среду с минимальными требованиями по сопровождению и ограничен�

ной функциональностью. Server Core обеспечивает реализацию ограни�

ченного набора базовых ролей:

� DHCP;

� DNS;

� Active Directory Domain Controller (включая RODC)

� Active Directory LDS (ранее — ADAM)

� File Server, включая:

� DFSR (ранее — FRS);

� NFS;

� File quota;

� Print Server;

� Media Services;

� Windows Virtualization;

� IIS 7.0 (без поддержки ASP.NET и удаленного администрирования).

и не поддерживает установку приложений — MSI поддерживается только

в пакетном режиме. Помимо этого, не поддерживается функциональность

на уровне Microsoft .NET (из�за этого, например, в роли Web Server нет

Page 109: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 111

поддержки ASP.NET), но разработчики могут создавать утилиты для управ�

ления сервером, дополнительные утилиты и сервисы, но только исполь�

зуя Native Windows API.

В Server Core поддерживается следующая функциональность:

� WINS;

� Failover Clustering;

� Subsystem for UNIX�based applications;

� Backup;

� Multipath IO;

� Removable Storage Management;

� Bitlocker Drive Encryption;

� SNMP;

� Telnet Client;

� (S)NTP.

Для удаленного управления Server Core можно использовать:

� Terminal Server;

� MMC для поддерживаемых компонентов и серверных ролей, например

Event Viewer и DNS;

� WS�Management, используя ShellExecute .

Определить наличие Server Core из командной строки можно следую�

щей командой:

C:\>WMIC path win32_operatingsystem get OperatingSystemSKU

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

� 12 для Datacenter Server Core Edition,

� 13 для Standard Server Core Edition или

� 14 для Enterprise Server Core Edition.

Server Core входит в издания Standard, Enterprise и Datacenter и под�

держивается на платформах x86 и x64.

Дополнительная информация:

� Windows Server 2008 Server Core

� http://msdn2.microsoft.com/en�us/library/ms723891.aspx

� Список DLL, включенных в состав Server Core

� http://msdn2.microsoft.com/en�us/library/ms723876.aspx

Failover ClusteringВ Windows Server 2008 поддержка отказоустойчивых кластеров претерпела

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

Page 110: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

112 Глава 8 Windows Server 2008 и совместимость приложений

ра программных интерфейсов (CreateCluster(), DestroyCluster(), AddCluster�

Node(), EvictClusterNode(), SetClusterQuorumResource(), SetClusterResource

DependencyExpression() и ряд других), улучшениям в функциональности,

масштабируемости и управляемости. К новым возможностям кластерных

технологий можно отнести:

� Интегрированные средства проверки конфигурации;

� Упрощенная установка кластера;

� Упрощенное управление кластерами;

� Расширения модели Quorum;

� Поддержка Storage Area Networks;

� Расширения в сетевой поддержке;

� Расширения для Stretched Cluster;

� Средства миграции кластеров;

� Поддержка Server Core.

Основные изменения, которые могут привести к несовместимости при�

ложений, связаны с использованием «старых» программных интерфейсов

на базе Cluster Automation Server (MSClus) — они включены в состав Win�

dows Server 2008, но поддерживаться не будут и должны использоваться

только в сценариях, когда задействована только одна платформа: Windows

Server 2003 �> Windows Server 2003 или Windows Server 2008 �> Windows

Server 2008. Приложения, использующие MSClus, должны использовать

Cluster API или провайдера Cluster WMI.

Дополнительная информация:

� Cluster Automation Server

� http://msdn2.microsoft.com/en�us/library/aa369077.aspx

� Failover Clustering in Windows Server 2008

� http://www.microsoft.com/windowsserver/longhorn/failoverclusters.mspx

� Server Cluster Provider

� http://msdn2.microsoft.com/en�us/library/aa372876.aspx

� Volume Shadow Services

� http://msdn2.microsoft.com/en�us/library/aa384961.aspx

Windows FirewallВ Windows Server 2008 опция Windows Firewall по умолчанию находится

во включенном состоянии. Это означает, что для ряда приложений долж�

ны быть открыты используемые ими порты — в противном случае при�

ложения не смогут работать. В качестве временного решения возможных

проблем можно отключить Windows Firewall, но это рекомендуется делать

Page 111: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 8 Windows Server 2008 и совместимость приложений 113

только в тех случаях, когда на компьютере установлен сетевой экран дру�

гого производителя.

Windows Firewall в Server Manager

Типичные симптомы несовместимости с включенным Windows Firewall —

приложения перестают работать и в системном журнале появляются со�

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

заблокировано. Как мы отметили выше, для обеспечения функциониро�

вания приложений необходимо открыть соответствующие порты. Адми�

нистраторы могут использовать контекст ‘netsh advfirewall’ для работы с

правилами firewall из скриптов и шаблоны мастера Security Configuration

для конфигурации серверов. Разработчики могут использовать программ�

ные интерфейсы INetFwPolicy2 (Firewall APIs) для интеграции инсталля�

торов с Windows Firewall и Advanced Security.

Дополнительная информация:

� INetFwPolicy2

� http://msdn2.microsoft.com/en�us/library/aa365309.aspx

� Unattended Installation Settings Reference

� http://technet2.microsoft.com/WindowsVista/en/library/69eee519�55a6�

440d�ab94�56330ef57e291033.mspx

ЗаключениеВ данной части обзора мы познакомились с наиболее часто встречающи�

мися проблемами совместимости существующих приложений с Windows

Vista и Windows Server 2008. Следование приведенным рекомендациям

поможет вам минимизировать возможные проблемы.

Page 112: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 9

Microsoft WindowsServer 2008.Ключевые вопросысертификацииприложений

Page 113: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Сертификация приложений важна как минимум с двух точек зрения — для

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

то или иное приложение соответствует ключевым критериям совмести�

мости, а для компаний разработчиков сертификация служит дополнитель�

ным средством проверки приложения на корректное использование про�

граммных интерфейсов, взаимодействие с компонентами операционной

системы и аппаратной платформой. С недавнего времени компаниям�

разработчикам программного обеспечения стали доступны процедуры

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

приложений на соответствие критериям сертификации — это позволяет

включить процедуры проверки непосредственно в процесс тестирования

приложений и тем самым упростить процесс подготовки к сертификации.

Существует две программы сертификации приложений — базовая и рас�

ширенная. Базовая сертификация бесплатна, может быть выполнена не�

посредственно самой компанией и по ее успешному завершении компа�

ния�разработчик получает право использовать логотип «Works with

Windows Server 2008», указывающий на базовую совместимость продукта

с операционной системой. Расширенная сертификация предполагает бо�

лее тщательное тестирование программного продукта, которое выполня�

ется компанией�партнером Microsoft и более высокий уровень совмести�

мости программного продукта. Успешное завершение расширенного те�

стирования дает компании�разработчику право использовать логотип

«Certified for Windows Server 2008», указывающий на расширенную совме�

стимость продукта с операционной системой. Обе программы сертифи�

кации предполагают одинаковые подходы к тестированию приложений

(они отличаются лишь требованиями и набором тестов), содержат все

необходимые утилиты для самостоятельного тестирования и выдвигаемые

ими требования к сертифицируемым приложениям могут стать основой

для проведения нефункционального тестирования приложений внутри

организации.

Наше знакомство с программами сертификации мы начнем с программы

«Works with Windows Server 2008», а затем более детально рассмотрим

программу «Certified for Windows Server 2008».

Программа Works with WindowsServer 2008Как мы отметили выше, программа «Works with Windows Server 2008» пред�

назначена для самостоятельного бесплатного тестирования приложений

на базовую совместимость с операционной системой Windows Server 2008.

Требования, выдвигаемые к тестируемому приложению, достаточно про�

сты и изложены в документе «Requirements for the Works with Windows Server

Page 114: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 9 Ключевые вопросы сертификации приложений 117

2008 Program for Software», а методика тестирования приложения на со�

ответствие этим требованиям — в документе «Test Framework for the Works

with Microsoft Windows Server 2008 Program for Software».

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

на получение логотипа «Works with Windows Server 2008», являются сле�

дующие:

� Выполнение приложения на 64�битной платформе — либо в «родном»

режиме, либо под WOW64;

� Наличие 64�битных версий драйверов, работающих в режиме kernel;

� Все драйверы подписаны средствами WHQL (Windows Hardware Quality

Labs) и прошли соответствующие тестирование и сертификацию.

Отметим, что тестирование приложений должно выполняться: для сер�

верных компонентов — под 64�битной версией Windows Server, и, при на�

личии клиентских компонентов — под 64�битной версией Windows Vista

Ultimate или Enterprise. Издание Windows Vista Ultimate содержит все ба�

зовые компоненты, входящие во все версии Windows Vista — таким обра�

зом, приложение, работающее под Windows Vista Ultimate, будет гаранти�

ровано совместимо со всеми версиями Windows Vista.

Большинство существующих приложений, выполняющихся под управ�

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

Windows Server 2008 без каких�либо изменений. В случае возникновения

проблем с совместимостью, приложения могут воспользоваться уровнем

совместимости (Compatibility Layer), либо уровнем работы с повышенны�

ми привилегиями (Elevation Layer) — если эти способы не подходят, не�

обходимо внести изменения в код приложения. Важно отметить, что сер�

тификация в классе Works with Windows Server 2008 подходит для всех трех

типов приложений.

Для проверки приложений на соответствие требованиям программы

Works with Windows Server 2008 предоставляется бесплатная утилита —

«Works with Tool» (WWT). Данная утилита представляет собой «мастера»,

включающего все тесты, описанные в документе «Test Framework for the

Works with Microsoft Windows Server 2008 Program for Software». Все тесты

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

веденными в документе. Отчет, составленный утилитой WWT, отсылается

для проверки и после ее успешного прохождения компания�разработчик

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

социированными с программой сертификации приложений.

Тестируемое приложение должно отвечать следующим основным тре�

бованиям:

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

цессорных платформах. Приложение должно устанавливаться и кор�

Page 115: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

118 Глава 9 Ключевые вопросы сертификации приложений

ректно выполняться как минимум на двуядерной системе (dual�core

system);

� Приложения и средства их установки не должны содержать 16�битно�

го кода и использовать 16�битные компоненты, т. к. выполнение 16�

битного кода не поддерживается под 64�битными версиями Windows

Vista и Windows Server 2008;

� Все драйверы и исполняемые файлы должны быть подписаны;

� Если работа приложения зависит от драйверов уровня kernel, должны

предоставляться 64�битные версии этих драйверов. Средство установ�

ки приложения должно определять и устанавливать корректные вер�

сии драйверов и других компонентов для 64�битных версий операци�

онной системы;

� Если тестируемое приложение представляет собой 32�битное прило�

жение, оно также должно поставляться с 64�битными версиями драй�

веров уровня kernel, даже если само приложение выполняется под уп�

равлением WOW64.

Помимо описанных выше требований, гарантирующих пользователям,

что приложение будет поддерживать современные платформы, устанав�

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

сбоев выполнять основной набор своих функций, есть еще набор допол�

нительных требований, связанных с поддержкой нескольких языков ин�

терфейса, выполнением базовых рекомендации по обеспечению защиты

и надежности приложений, обеспечением совместимости с антивирусными

продуктами, поддержкой стабильной работы всей системы.

В области поддержки нескольких языков интерфейса, если приложе�

ние поддерживает символы UNICODE, то не требуется прохождение сер�

тификации для каждой языковой версии приложения. Рекомендуется про�

водить тестирование приложения на локализованных версиях операци�

онной системы Windows Vista и Windows Server 2008, соответствующей

основному языку интерфейса приложения.

Выполнение базовых рекомендаций по обеспечению защиты и надеж�

ности приложений включает поддержку технологии Windows Error

Reporting (WER), позволяющей собирать информацию о сбоях, произо�

шедших в приложениях и собирать эту информацию, делая ее доступной

компании�разработчику для анализа и, в случае необходимости, внесения

исправлений в код приложения. Минимальным требованием является

постоянное активное состояние опции Windows Error Reporting.

Приложения, работающие с Интернетом, должны обеспечивать рабо�

ту с протоколом IPv6 (Internet Protocol version 6), поддержка которого

встроена во все операционные системы семейства Microsoft Windows,

начиная с Windows XP SP1. Минимальным требованием является актив�

ное состояние поддержки протокола IPv6.

Page 116: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 9 Ключевые вопросы сертификации приложений 119

Начиная с версии Microsoft Windows XP SP2, во все издания операци�

онных систем включается межсетевой экран (Windows Firewall), обеспе�

чивающий определенный уровень защиты входящего и исходящего тра�

фика. Приложения не должны отключать механизмы межсетевых экранов

Windows и должны корректно работать либо со штатными утилитами, либо

с сертифицированными утилитами сторонних производителей.

Особое внимание (как при разработке, так и при тестировании при�

ложений) следует уделять корректной работе приложения с антивирусным

программным обеспечением, особенно в тех случаях, когда последнее

реализовано в виде драйверов�фильтров. Приложения должны корректно

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

антивирусного программного обеспечения, а работа приложения не дол�

жна мешать работе антивирусов.

Дополнительная информация по программе «Works with Windows Server

2008» доступна в соответствующем разделе сайта http://www.innovateon

windowsserver.com.

Программа Certified for WindowsServer 2008Программа «Certified for Windows Server 2008» построена на основе опи�

санных выше требований, но существенно расширяет их. Тестирование на

соответствие требованиям данной программы также может быть выпол�

нено самой компанией — для этого бесплатно предоставляются все не�

обходимые утилиты и пошаговые руководства по тестированию, но в от�

личие от программы «Works with Windows Server 2008», основное тести�

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

Microsoft компаний�партнеров.

Обратим внимание только на ряд требований, выдвигаемых к серти�

фицируемым приложениям — полный анализ документа «Requirements for

the Windows Server 2008 Logo Program for Software» оставим читателям в

виде упражнения.

Требования к сертифицируемым приложениям разбиты на четыре боль�

шие группы — использование компонентов операционной системы, про�

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

надежность и высокая доступность.

Первая группа включает набор базовых требований по корректному

взаимодействию с компонентами операционной системы, включая спо�

собы проверки номера версии ОС, требования к драйверам, поддержке 64�

битных платформ и т. п. Так как основная масса вопросов, связанных с

совместимостью приложений, относится к процедурам установки и уда�

Page 117: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

120 Глава 9 Ключевые вопросы сертификации приложений

ления приложений, эти вопросы вынесены в отдельный раздел, который

содержит рекомендации по созданию пакетов установки, использованию

технологий Windows Resource Protection и User Account Control, а также

освещает ряд других вопросов, связанных с установкой и удалением при�

ложений.

Два следующих раздела посвящены вопросам обеспечения безопасно�

сти, надежности и высокой доступности приложений. Здесь в очередной

раз уделяется внимание использованию User Account Control и обеспече�

нию совместимости с данной технологией, взаимодействию с новыми и

расширенными сервисами операционной системы, нагрузочному тести�

рованию, восстановлению после сбоев, а также поддержке Windows Error

Reporting, Windows Feedback Platform и ряду других вопросов.

Помимо базовых требований по обеспечению стабильности работы и

корректного использования функций и компонентов операционной си�

стемы, приложения все больше и больше приводятся к единой, унифици�

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

операционной системы. Например, каждый файл, создаваемый приложе�

нием вне своего корневого каталога, и не помеченный атрибутом «скры�

тый», должен быть ассоциирован с зарегистрированным типом файла. Если

тип файла уже зарегистрирован, никаких дополнительных действий не

требуется. В противном случае необходимо предоставить графическое

изображение для идентификации файлов нового типа, предоставить на�

глядное описание типа файла и обеспечить описание действия по умол�

чанию – действия, выполняемого при двойном щелчке по имени файла,

или задать опцию NoOpen, если файл не должен открываться пользова�

телем. Далее, для каждого типа файла, для которого нет ассоциации, не�

обходимо выполнить следующие действия:

1. В Control Panel вызвать раздел Programs, затем Default Programs и выб�

рать опцию Associate a File Type or Protocol with a Program;

2. После этого в списке выбрать необходимое расширение имени файла;

3. Убедиться в том, что с тем или иным расширением имени файла не

ассоциирована иконка по умолчанию и соответствующие действия.

Следование рекомендациям, приведенным в требованиях к сертифи�

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

проблем совместимости существующих приложений с Windows Vista и

Windows Server 2008 позволит вам сделать приложения более совмести�

мыми и надежными и, таким образом, еще больше укрепить к ним дове�

рие пользователей.

Page 118: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10

Microsoft WindowsServer 2008.Что еще нового?

Page 119: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Выше мы рассмотрели ряд возможностей новой версии серверной опе�

рационной системы Microsoft Windows Server 2008 с точки зрения разра�

ботчиков — обсудили технологические новинки, программные интерфейсы

и некоторые сценарии использования новых и расширенных компонен�

тов сервера.

Ряд технологических новинок и расширенных функций серверной опера�

ционной системы, которые мы рассмотрим ниже, предназначены для адми�

нистраторов и IT�специалистов. К этим новинкам относятся средства обес�

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

средства управления удаленными филиалами, механизмы обеспечения высо�

кого уровня доступности, ряд новинок в службах каталогов, службы развер�

тывания Windows, новинки в сетевых функциях, а также новые механизмы

управления печатью, появившиеся в Microsoft Windows Server 2008.

Средства обеспечения безопасностиWindows Server 2008 — наиболее защищенный из всех продуктов семей�

ства Windows Server. Повышенная безопасность операционной системы

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

федеративные службы управления правами и контроллер домена только

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

всего бизнеса.

Windows Server 2008 позволяет защитить серверы, сети, данные и учет�

ные записи пользователей от сбоев и вторжений.

Технология защиты доступа к сети позволяет изолировать компьюте�

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

сти, и обеспечивает для сети механизм ограничения доступа, устранения

недостатков и непрерывной проверки соответствия.

Федеративные службы управления правами поддерживают постоянную

защиту конфиденциальных данных, помогают сократить риски, обеспе�

чивают соблюдение регулятивных норм и формируют платформу для

комплексной защиты информации.

Контроллер домена только для чтения (RODC) позволяет развертывать

службы Active Directory с ограниченной репликацией полной базы данных

Active Directory для улучшения защиты на случай кражи или взлома сервера.

В операционной системе Windows Server 2008 существует много воз�

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

соответствие ее требованиям безопасности. Ниже перечислены некото�

рые из ключевых нововведений.

� Принудительное соответствие клиентов требованиям безопасности.

Технология защиты доступа к сети (NAP) позволяет администраторам

Page 120: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 123

настроить клиентские компьютеры и обеспечить их соответствие оп�

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

чить доступ к сети.

� Мониторинг центров сертификации. Инфраструктура PKI предприятия

расширяет возможности по мониторингу и устранению неполадок во

множественных центрах сертификации.

� Усовершенствования брандмауэра. В новом режиме повышенной безо�

пасности брандмауэра Windows имеется ряд улучшений защиты.

� Шифрование и защита данных. Технология BitLocker позволяет зашиф�

ровать диск, чтобы защитить важные данные.

� Средства криптографии. Средства шифрования нового поколения обес�

печивают гибкую платформу для разработки криптографии.

� Изоляция серверов и доменов. Ресурсы сервера и домена могут быть

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

компьютеров, прошедших проверку подлинности.

� Контроллер домена только для чтения (RODC). Контроллер домена

только для чтения — это новый способ установки контроллера доме�

на, предназначенный для удаленных филиалов с низким уровнем за�

щиты физического доступа к серверам.

� Эти улучшения помогают администраторам повысить уровень безопас�

ности в организации и упростить развертывание параметров защиты

и управление ими.

Рассмотрим эти механизмы более подробно. Начнем с технологии

Network Access Protection.

Защита доступа к сетиТехнология NAP (Network Access Protection — защита доступа к сети) пре�

дотвращает доступ к сети с компьютеров, не отвечающих требованиям

безопасности, и тем самым защищает сеть организации от компрометации.

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

безопасности, которым должны соответствовать компьютеры пользовате�

лей. С ее помощью на компьютер, не отвечающий требованиям, устанав�

ливаются необходимые обновления или переустанавливаются соответству�

ющие компоненты, и только после этого он может получить доступ к сети

организации. С помощью технологии NAP администраторы могут настро�

ить параметры политик соответствия требованиям безопасности. К таким

требованиям могут относиться требования установки на компьютер необ�

ходимого ПО, требования установки необходимых обновлений и требования

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

Служба NAP производит оценку соответствия компьютеров заданным

требованиям и ограничивает доступ к сети в случае, если компьютер им

Page 121: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

124 Глава 10 Microsoft Windows Server 2008. Что еще нового?

не отвечает. В приведении компьютера в соответствие требованиям бе�

зопасности для предоставления ему полноценного доступа к сети участвуют

как серверные компоненты, так и компоненты клиентской системы. Если

выявлено, что клиентский компьютер не отвечает требованиям безопас�

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

немедленно установлены исправления, необходимые для приведения его

в соответствие этим требованиям.

Для принуждения соответствия компьютеров требованиям безопасно�

сти в службе NAP используются возможности таких технологий доступа

к сети, как протоколы IPSec и 802.1X, принудительное использование вир�

туальных частных сетей для маршрутизации и удаленного доступа и при�

нудительное использование протокола DHCP.

Сценарии защиты доступа к сети (NAP)Представляя собой наиболее гибкое для заказчиков решение, защита до�

ступа к сети взаимодействует с ПО поставщика, которое либо содержит

агент System Health Agent (SHA) и средства оценки работоспособности

системы System Health Validators (SHV), либо распознает опубликованный

набор интерфейсов программирования. В качестве примеров решений

сторонних поставщиков, которые работают с защитой доступа к сети,

можно назвать антивирусную программу, виртуальную частную сеть или

сетевое оборудование. Защита доступа к сети предоставляет решение для

следующих распространенных сценариев.

� Проверка работоспособности и состояния мобильных переносных

компьютеров

С помощью защиты доступа к сети сетевые администраторы могут

проверять состояние любого переносного компьютера, когда он повтор�

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

гибкости.

� Поддержание работоспособности настольных компьютеров.

Благодаря дополнительному управляющему ПО можно создавать авто�

матические отчеты, выполнять автоматическое обновление компьютеров,

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

политик работоспособности компьютеры могут автоматически получать

последние обновления, которые предотвращают угрозы их работоспособ�

ности со стороны общедоступных ресурсов.

� Определение состояния переносных компьютеров, получающих дос�

туп в сеть.

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

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

и если нет, лимитировать их доступ к ограниченной сети, не требуя обнов�

ления или изменения конфигурации этих переносных компьютеров.

Page 122: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 125

� Проверка соответствия требованиям и работоспособности неуправля�

емых домашних компьютеров

С помощью защиты доступа к сети сетевые администраторы могут

проверять наличие необходимых программ, параметров реестра, файлов

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

к сети через виртуальную частную сеть; также они могут лимитировать

подключение к ограниченной сети, пока не будут выполнены требования

к работоспособности системы.

Режим повышенной безопасностибрандмауэра WindowsВстроенный в операционную систему Windows Server 2008 брандмауэр

Windows (управляемый брандмауэр) в режиме повышенной безопаснос�

ти является индивидуальным брандмауэром с отслеживанием состояний

соединений, который может пропускать или блокировать сетевой трафик

в соответствии с заданными параметрами и запущенными приложения�

ми. Такой режим работы позволяет защитить сеть от вредоносных про�

грамм и действий пользователей.

Одной из новых возможностей брандмауэра является перехват как вхо�

дящего, так и исходящего трафика. Сетевой администратор может, к при�

меру, настроить брандмауэр Windows таким образом, чтобы за некоторы�

ми исключениями заблокировать исходящий трафик, отправляемый на

определенные порты, например на наиболее распространенные порты,

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

трафик, отправляемый на определенные адреса и содержащий конфиден�

циальные или нежелательные данные. Это позволяет защитить компьютер

от вирусов, распространяемых по сети, а также защищает сеть от вирусов,

которые могут попытаться распространить себя с зараженной системы.

Так как количество настраиваемых параметров в брандмауэре Windows

увеличилось, для упрощения администрирования брандмауэра была до�

бавлена оснастка управления брандмауэром Windows в режиме повышен�

ной безопасности для консоли управления MMC. Эта новая оснастка уп�

рощает удаленную настройку и управление брандмауэром Windows на

клиентских рабочих станциях и серверах. Раньше для этого приходилось

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

В предыдущих версиях операционной системы Windows Server настрой�

ка брандмауэра Windows производилась отдельно от настройки параметров

протокола IPsec. Так как и индивидуальный брандмауэр, и протокол IPsec

могут блокировать или разрешать входящие соединения, правила прото�

кола IPsec и исключения брандмауэра могут перекрываться или противо�

речить друг другу. В новом брандмауэре Windows в операционной систе�

ме Windows Server 2008 настройка обеих сетевых служб объединена об�

Page 123: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

126 Глава 10 Microsoft Windows Server 2008. Что еще нового?

щим графическим пользовательским интерфейсом и командами команд�

ной строки. Такая интеграция настройки брандмауэра и параметров про�

токола IPsec упрощает настройку этих служб и помогает предотвратить

перекрывающиеся или противоречивые правила.

Шифрование диска BitLockerШифрование диска BitLocker является новой ключевой возможностью,

которая доступна в операционной системе Windows Server 2008, а также

в выпусках Windows Vista Enterprise и Windows Vista Ultimate. Эта возмож�

ность помогает защищать серверы, рабочие станции и мобильные ком�

пьютеры. С помощью технологии BitLocker шифруется содержимое дис�

ка. Злоумышленник не сможет получить доступ к зашифрованному содер�

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

обойдя защиты файловой системы с помощью программных средств или

подключив жесткий диск к другому компьютеру.

Защита данных с помощью шифрования BitLocker усиливается за счет

шифрования системного раздела и проверки целостности компонентов,

используемых на раннем этапе загрузки. Полностью шифруется систем�

ный раздел, включая файл подкачки и файл режима гибернации. Благо�

даря этому усиливается защищенность удаленных серверов в филиалах.

Шифрование BitLocker позволяет предотвратить утечку или раскрытие

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

компьютера. Эта технология шифрования также помогает организациям

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

Сарбэйнса�Оксли и HIPAA, в которых требуется использование высоких

стандартов обеспечения безопасности и защиты данных.

Инфраструктура Enterprise PKI (PKIView)В инфраструктуру открытого ключа (PKI) в операционной системе Windows

Server 2008 и Windows Vista был внесен ряд усовершенствований. Была

улучшена управляемость всеми аспектами инфраструктуры Windows PKI,

переработаны службы отзыва сертификатов и уменьшена контактная зона

процесса регистрации. К усовершенствованиям инфраструктуры PKI от�

носится следующее.

� Инфраструктура Enterprise PKI (PKIView). Средство PKIView, ранее яв�

лявшееся частью комплекта ресурсов для операционной системы

Windows Server 2003 и называвшееся PKI Health, теперь является осна�

сткой консоли MMC для операционной системы Windows Server 2008.

Оно используется для анализа состояния центров сертификации и

просмотра детальных сведений о сертификатах центров сертификации,

опубликованных в службе сертификации Active Directory.

Page 124: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 127

� Протокол OCSP. Сетевой ответчик, работающий на основе протокола

OCSP (Online Certificate Status Protocol — протокол сетевого состояния

сертификата), может использоваться для управления информацией о

состоянии отзыва сертификатов и распространения этой информации

в случаях, когда использование традиционных списков отзыва серти�

фикатов не подходит. Сетевые ответчики могут быть настроены на

одном компьютере или в массиве сетевых ответчиков.

� Служба NDES. Служба NDES (Network Device Enrollment Service — служба

подачи заявок на регистрацию сетевых устройств) в операционной

системе Windows Server 2008 — реализация корпорацией Microsoft

протокола SCEP (Simple Certificate Enrollment Protocol — простой про�

токол подачи заявки на сертификат). Этот протокол позволяет програм�

мам, работающим на маршрутизаторах, коммутаторах и других сете�

вых устройствах, и неспособным пройти проверку подлинности в сети

другим способом, отправить запрос на получение сертификата x509 от

центра сертификации.

� Веб�регистрация. По сравнению с предыдущей версией новый элемент

управления веб�регистрацией более защищен, его легче программиро�

вать с помощью сценариев и обновлять.

� Параметры PKI в групповых политиках. Параметры сертификатов в

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

управлять настройкой сертификатов для всех компьютеров в домене.

Служба CNGСлужба CNG (Cryptography Next Generation — новое поколение криптог�

рафии) предоставляет гибкую платформу для разработки шифрования и

позволяет ИТ�специалистам создавать, обновлять и использовать собствен�

ные алгоритмы шифрования в таких приложениях и технологиях, как

служба сертификации Active Directory, технологии SSL и IPsec. Служба CNG

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

ми и хеширования, перечисленные в своде правил Suite B Агентства на�

циональной безопасности США.

Служба CNG предоставляет набор интерфейсов API для выполнения

основных операций, таких как создание, сохранение и получение ключей

шифрования. Также поддерживается установка и использования дополни�

тельных поставщиков шифрования. Благодаря платформе CNG разработ�

чики и организации могут использовать собственные алгоритмы шифро�

вания или реализации стандартных алгоритмов.

Поддерживается текущий набор алгоритмов CryptoAPI версии 1.0, а также

алгоритмы шифрования на основе эллиптических кривых (ECC). Поддер�

жка определенных алгоритмов ECC требуется для соответствия своду пра�

вил Suite B Агентства национальной безопасности США.

Page 125: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

128 Глава 10 Microsoft Windows Server 2008. Что еще нового?

Контроллеры домена только для чтенияКонтроллер RODC (Read�Only Domain Controller — контроллер домена

только для чтения) — это новый тип контроллера домена, который дос�

тупен в операционной системе Windows Server 2008 и предназначен для

установки в филиалах. Контроллер RODC позволяет уменьшить риск ус�

тановки контроллера домена в удаленных филиалах или в других местах,

где невозможно гарантировать физическую защищенность сервера.

На таком контроллере домена хранятся все объекты и атрибуты служ�

бы каталогов Active Directory, которые хранятся на обычном контроллере

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

не могут сохранять изменения на контроллере RODC. Так как изменения

не записываются непосредственно на контроллер RODC, и, следователь�

но, не могут возникнуть локально, контроллерам домена, которые поддер�

живают запись изменений и являются партнерами по репликации не нужно

запрашивать изменения с контроллеров RODC. Разделение администра�

тивных ролей позволяет делегировать любому пользователю домена пра�

ва локального администратора контроллера RODC без необходимости

предоставлять этому пользователю права в самом домене или на других

контроллерах домена.

Изоляция серверов и доменовВ сети, построенной на основе операционной системы Microsoft Windows,

администраторы могут логически изолировать серверные и доменные

ресурсы для обеспечения доступа к ним только с авторизованных компь�

ютеров, прошедших проверку подлинности. Например, внутри существу�

ющей физической сети можно создать логическую сеть, в которой у ком�

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

взаимодействий. Каждый компьютер в этой логически изолированной

подсети должен предоставить учетные данные для прохождения провер�

ки подлинности на других компьютерах этой изолированной подсети.

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

программ к ресурсам. Запросы от компьютеров, которые не являются ча�

стью изолированной подсети, игнорируются. Изоляция серверов и доме�

нов помогает защитить определенные особо ценные серверы и данные, а

также защитить контролируемые компьютеры от доступа неконтролиру�

емых или посторонних компьютеров и пользователей.

В сети может использоваться два типа изоляции.

� Изоляция серверов. Такой вариант изоляции подразумевает настройку

политик IPsec на определенных серверах таким образом, чтобы прини�

мались соединения только от компьютеров, прошедших проверку под�

линности. Например, можно настроить сервер баз данных таким обра�

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

Page 126: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 129

� Изоляция доменов. Чтобы изолировать домен, администраторы могут

воспользоваться членством компьютеров в домене Active Directory и

настроить эти компьютеры таким образом, чтобы они принимали толь�

ко безопасные соединения, прошедшие проверку подлинности, и только

от компьютеров, которые тоже являются членами этого домена. Изо�

лированная сеть в таком случае состоит только из компьютеров, явля�

ющихся членами домена. При изоляции доменов для защиты данных,

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

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

Операционная система Windows Server 2008 позволяет организациям

воспользоваться такими беспрецедентными возможностями защиты на ос�

нове политик, как защита доступа к сети (NAP). Оценка и контроль состоя�

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

шит защищенность организации. Новые интерфейсы управления в опера�

ционной системе Windows Server 2008 упрощают процесс администриро�

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

уменьшают затраты на поддержание сетевой безопасности предприятия.

Механизмы централизованногодоступа к приложениямУлучшения и нововведения в службах терминалов в операционной сис�

теме Windows Server 2008 выходят за рамки простого предоставления

удаленного доступа пользователей к приложениям. Благодаря возможно�

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

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

с пользователями. Также стал возможен централизованный доступ к при�

ложениям через веб�клиент служб терминалов.

Ниже перечислены новые компоненты служб терминалов.

� Удаленные приложения служб терминалов.

� Благодаря удаленным приложениям служб терминалов пользовате�

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

наряду с обычными локальными приложениями. Для работы этой

возможности необходим клиент подключения к удаленному рабо�

чему столу версии 6.0.

� Шлюз служб терминалов.

� Шлюз служб терминалов (TS Gateway) позволяет получить безопас�

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

пределов межсетевого экрана предприятия без необходимости раз�

вертывания инфраструктуры виртуальной частной сети (VPN).

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

Page 127: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

130 Глава 10 Microsoft Windows Server 2008. Что еще нового?

� Веб�клиент служб терминалов (TS Web Access) является решением для

работы с удаленными приложениями, которое упрощает админист�

раторам процесс публикации этих приложений, а пользователям —

процесс поиска и запуска этих приложений.

� Единый вход.

� Технология единого входа улучшает взаимодействие с пользовате�

лями, избавляя их от необходимости многократно вводить свои учет�

ные данные.

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

более подробно. Начнем со службы терминалов.

Службы терминаловСлужбы терминалов в операционной системе Windows Server 2008 вклю�

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

шают взаимодействие с пользователями. Компоненты этой новой ключе�

вой функциональности описаны ниже.

� Клиент подключения к удаленному рабочему столу версии 6.0. Для до�

ступа к службам терминалов пользователям необходимо использовать

клиент подключения к удаленному рабочему столу версии 6.0. Он вхо�

дит в состав операционных систем Windows Server 2008 и Windows Vista;

версия этого клиента для операционных систем Windows XP и Windows

Server 2003 доступна для бесплатной загрузки.

� Улучшения отображения подключения к удаленному рабочему столу.

Клиент подключений к удаленному рабочему столу версии 6.0 поддер�

живает работу с рабочими столами с высоким разрешением (до 4096

на 2048 точек) и отображение одного большого рабочего стола на

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

позволяет воспользоваться преимуществами новых мониторов высо�

кого разрешения и современных форматов экрана (например, широ�

коформатных экранов с пропорциями 16 на 9 или 16 на 10), которые

не соответствуют прежнему стандарту с пропорциями 4 на 3.

� Функция Desktop Experience. Клиент подключения к удаленному рабо�

чему столу версии 6.0 воспроизводит рабочий стол удаленного компь�

ютера на компьютере пользователя. Если на сервере Windows Server 2008

установлена функция Desktop Experience, пользователь сможет восполь�

зоваться такими возможностями операционной системы Windows Vista,

как проигрыватель Windows Media, темы рабочего стола или работа с

фотоснимками через удаленное подключение. Функция Desktop Expe�

rience и параметры задания приоритета отображаемых данных улуч�

шают взаимодействие конечного пользователя с сервером терминалов

Windows Server 2008. Параметры приоритета отображаемых данных

нужны, чтобы нажатия клавиш на клавиатуре и действия мыши без за�

Page 128: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 131

держек взаимодействовали с экранными элементами даже в условиях

значительной нагрузки на канал передачи данных.

Единый входЕдиный вход позволяет пользователям с доменной учетной записью, вы�

полнившим вход в сеанс служб терминалов с помощью пароля или смарт�

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

повторных запросов учетных данных. Единый вход улучшает взаимодей�

ствие с пользователями, избавляя их от необходимости вводить учетные

данные каждый раз при открытии сеанса удаленного доступа.

Удаленные приложения служб терминаловУдаленные приложения служб терминалов — это новый способ представ�

ления удаленных приложений в операционной системе Windows Server

2008. Способ представления удаленных приложений дополняет существу�

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

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

удаленными приложениями.

В операционной системе Windows Server 2008 взаимодействие пользо�

вателя с удаленными приложениями существенно изменилось. Теперь не

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

рабочем столе пользователя, причем размер этого окна можно изменять

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

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

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

передаются на локальный рабочий стол и открываются на нем, а локаль�

ные дисковые устройства и принтеры доступны из удаленного приложе�

ния. Многие пользователи даже не смогут отличить удаленное приложе�

ние от работающего рядом локального приложения.

Благодаря удаленным приложениям упрощается работа администрато�

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

того, чтобы устанавливать и поддерживать приложение на всех рабочих

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

ложениям улучшается взаимодействие с пользователями за счет плавной

интеграции удаленных приложений с клиентскими рабочими столами.

Шлюз служб терминалов (TS Gateway)Шлюз служб терминалов (TS Gateway) — это роль служб терминалов, с

помощью которой авторизованные удаленные пользователи могут подклю�

чаться к серверам терминалов и рабочим станциям в сети предприятия

через Интернет. Эта служба позволяет предоставить удаленным или путе�

шествующим работникам защищенный доступ к определенным серверам

Page 129: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

132 Глава 10 Microsoft Windows Server 2008. Что еще нового?

и рабочим станциям без необходимости использовать подключение к

виртуальной частной сети (VPN).

Некоторые из ключевых преимуществ использования шлюза служб

терминалов перечислены ниже.

� Возможность защищенного подключения удаленных пользователей к

ресурсам сети предприятия через Интернет без необходимости исполь�

зования сложных подключений к виртуальной частной сети (VPN).

� Использование защищенности и доступности протокола HTTPS для

доступа к службам терминалов без необходимости настройки на сто�

роне клиента.

� Комплексная модель безопасности, благодаря которой администрато�

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

� Возможность подключения пользователей к серверам терминалов и

удаленным рабочим станциям через межсетевые экраны и преобразо�

ватели сетевых адресов (NAT).

� Более защищенная модель доступа, позволяющая ограничить доступ

пользователей только к определенным серверам и рабочим станциям,

а не ко всей сети предприятия, как это происходит в случае использо�

вания подключений к виртуальной частной сети (VPN).

Благодаря шлюзу служб терминалов организации могут легко предос�

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

чим станциям в сети организации без необходимости устанавливать и

настраивать подключение к виртуальной частной сети (VPN). Комплекс�

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

доступ к определенным ресурсам.

Веб-клиент служб терминаловВеб�клиент служб терминалов (TS Web Access) — это роль служб термина�

лов, с помощью которой администраторы могут предоставить доступ пользо�

вателям к удаленным приложениям через веб�обозреватель без необходи�

мости устанавливать дополнительное ПО. С помощью веб�клиента служб

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

через веб�узел. Когда пользователь запускает одно из удаленных приложе�

ний, для этого пользователя автоматически создается сеанс служб терми�

налов на сервере терминалов под управлением операционной системы

Windows Server 2008, на котором размещается это приложение. Для пользо�

вателя в веб�интерфейсе доступно централизованное меню, в котором ото�

бражаются все доступные удаленные приложения. Чтобы запустить удален�

ное приложение, достаточно выбрать нужную программу в меню.

Использование веб�клиента служб терминалов уменьшает трудозатра�

ты по администрированию за счет централизованного доступа к удален�

ным приложениям. Приложения выполняются на сервере терминалов, а

Page 130: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 133

не на клиентских компьютерах, поэтому ИТ�персоналу необходимо под�

держивать и обновлять эти приложения в единственном экземпляре.

Средства управленияудаленными филиаламиЧтобы более плотно взаимодействовать со своими клиентами, организа�

ции перемещают сотрудников из центрального офиса в удаленные фили�

алы. По мере возрастания количества филиалов пропорционально возра�

стают и потребности в управлении и защите ИТ�инфраструктуры этих

удаленных офисов. Количество работников в удаленных филиалах быст�

ро растет, и в корпорации Microsoftучитывают потребности организаций

в новых решениях для особых условий филиалов.

Так как в удаленных филиалах зачастую нет штатного ИТ�персонала,

возникают определенные особенности работы ИТ�специалистов с серве�

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

на этих серверах, должно быть рассчитано на работу через каналы гло�

бальной сети с низкой пропускной способностью, и при этом не занимать

эти каналы полностью, чтобы не замедлять работу приложений и пере�

дачу критически важных данных. Также в филиалах необходимо обеспе�

чивать более надежную защиту, потому что физическую защищенность

серверов в филиалах не всегда можно гарантировать. Так как большин�

ство ИТ�персонала находится за пределами филиалов, предпочтительны�

ми являются решения, позволяющие осуществлять централизованное уп�

равление, а также удаленное администрирование и развертывание.

Потребности и проблемы удаленных филиалов впервые были учтены

в операционной системе Windows Server 2003 R2. В Windows Server 2008

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

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

филиалами, а также обеспечивается более сильная защищенность сетей

и данных удаленных филиалов и центрального офиса. Также новая сис�

тема предоставляет ИТ�специалистам более гибкие возможности для удов�

летворения специфичных потребностей организаций.

Ключевые преимущества для филиалов, предлагаемые в операционной

системе Windows Server 2008, можно разделить на три категории.

� Повышение эффективности развертывания и администрирования сер�

веров в удаленных офисах.

� Уменьшение уязвимости удаленных офисов.

� Повышение эффективности использования пропускной способности

канала для соединений через глобальную сеть.

Предлагаемые корпорацией Microsoftновые возможности и усовершен�

ствования решений для филиалов и Windows Server 2008 отвечают основ�

Page 131: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

134 Глава 10 Microsoft Windows Server 2008. Что еще нового?

ным требованиям работы удаленных офисов. К таким возможностям опе�

рационной системы Windows Server 2008 относится упрощенный процесс

развертывания, эффективное управление ключевыми ролями сервера,

повышенная защита, а также архитектура системы, которая повышает

быстродействие и бесперебойность работы.

Механизмы обеспечениявысокого уровня доступностиОбеспечение бесперебойной работы важнейших приложений является

ключевой задачей ИТ�отделов, поэтому многие усовершенствования в

Windows Server 2008 нацелены на высокий уровень доступности. Опера�

ционная система Windows Server 2008 сочетает в себе такие возможнос�

ти, как отказоустойчивые кластеры, балансировка сетевой нагрузки, но�

вые возможности для резервного копирования и восстановления. Соче�

тание этих возможностей обеспечивает организациям высокий уровень

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

данные доступны всем пользователям.

Отказоустойчивые кластерыОтказоустойчивый кластер, ранее называвшийся кластером серверов, яв�

ляется группой компьютеров, которые функционируют совместно и по�

вышают доступность приложений и служб. Серверы в кластере называются

узлами. Помимо физической кабельной сети, они объединяются с помо�

щью специального ПО. В случае отказа одного из узлов кластера проис�

ходит процесс переключения на другой узел, который заменяет вышед�

ший из строя узел и обеспечивает минимальные перебои в предоставле�

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

зуются ИТ�специалистами для обеспечения высокого уровня доступнос�

ти критически важных служб и приложений.

Усовершенствования отказоустойчивых кластеров в операционной сис�

теме Windows Server 2008 направлены на упрощение работы с кластерами,

а также на повышение уровня защищенности и стабильности кластеров.

Новый мастер проверки в Windows Server 2008 позволяет убедиться, что

система, устройства хранения и параметры сети подходят для работы

кластера. Этот мастер упрощает установку и настройку кластера. Ниже

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

� Проверки узла. Проверяется, одинаковые ли версии ОС и обновления

ПО установлены на серверах.

� Проверки сети. Проверяется соответствие планируемой сети кластера

определенным требованиям, например, требованию наличия как ми�

нимум двух раздельных подсетей для обеспечения избыточности сети.

Page 132: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 135

� Проверки устройств хранения. Проверяется, что устройства хранения

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

ра есть доступ ко всем общим дискам.

В Windows Server 2008 поддерживаются диски с таблицами разделов GPT

(GUID Partition Table — таблица разделов с глобальными уникальными

идентификаторами) в хранилище кластера. GPT�диски поддерживают

разделы размером более двух терабайт и, в отличие от MBR�дисков, обла�

дают встроенной избыточностью. Таблица разделов GPT обладает рядом

преимуществ перед таблицей разделов MBR, так как она поддерживает до

128 разделов на диске, тома размером до 18 экзабайт, уникальные иден�

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

резервную таблицы разделов для обеспечения избыточности.

Для упрощения управления кластерами интерфейсы управления были

усовершенствованы, чтобы администраторы могли сфокусировать свое вни�

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

интерфейс ориентирован на задачи и более понятен, а мастера помогают

администраторам совершать действия, ранее являвшиеся довольно сложными.

Отказоустойчивый кластер в операционной системе Windows Server

2008 обладает повышенной надежностью и улучшенной функционально�

стью по сравнению с предыдущими версиями кластеров серверов. Ниже

приведен список ключевых усовершенствований.

� Динамическое добавление дисковых ресурсов. Зависимости ресурсов

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

ет администраторам увеличивать доступное дисковое пространство, не

прерывая работу использующих это пространство приложений.

� Улучшенная производительность и стабильность благодаря использо�

ванию хранилища данных. Когда отказоустойчивый кластер взаимодей�

ствует с сетями хранения данных (SAN) или с непосредственно под�

ключенными устройствами хранения данных (DAS), используются ко�

манды, менее всего нарушающие работу этих устройств, благодаря чему

уменьшается количество сбросов шины SCSI. Диски никогда не нахо�

дятся в незащищенном состоянии, благодаря чему уменьшается веро�

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

живают усовершенствованные методы обнаружения дисков и восста�

новления данных. Поддерживается подключение к устройствам хране�

ния данных через интерфейс последовательного подключения SCSI

(SAS), интерфейс iSCSI или через оптоволоконный канал.

� Упрощенное обслуживание дисков. Режим обслуживания значительно

усовершенствован. Он упрощает запуск средств проверки, исправления

ошибок, резервного копирования и восстановления дисков, а также

уменьшает воздействие этих операций на работу кластера.

Windows Server 2008 упрощается развертывание и управление кластерами,

а также повышается производительность и надежность работы кластеров.

Page 133: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

136 Глава 10 Microsoft Windows Server 2008. Что еще нового?

Балансировка сетевой нагрузкиС помощью балансировки сетевой нагрузки осуществляется распределение

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

ми серверами в кластере балансировки сетевой нагрузки. Эта функция важна

для организаций, нуждающихся в распределении клиентских запросов между

несколькими серверами. В частности, она полезна для масштабирования

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

серверов по мере увеличения нагрузки. К таким приложениям можно от�

нести веб�приложения, работающие под управлением служб IIS. Баланси�

ровка сетевой нагрузки позволяет легко заменить вышедший из строя сер�

вер, тем самым повышая надежность системы. Ниже приведены усовершен�

ствования балансировки сетевой нагрузки в Windows Server 2008.

� Поддержка протокола IPv6. Балансировка сетевой нагрузки полностью

поддерживает сетевое взаимодействие по протоколу IPv6.

� Поддержка программного интерфейса NDIS версии 6.0. Сетевой драй�

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

поддержки облегченной модели фильтров программного интерфейса

NDIS версии 6.0, при этом сохранилась поддержка всех более ранних

версий программного интерфейса NDIS. Усовершенствования архитек�

туры этого программного интерфейса включают увеличение произво�

дительности и масштабируемости драйвера, а также упрощенная мо�

дель этого драйвера.

� Расширения интерфейса WMI. Расширения интерфейса WMI в простран�

стве имен MicrosoftNLB обеспечивают поддержку протокола IPv6 и

множественных выделенных IP�адресов.

� Классы в пространстве имен MicrosoftNLB. Помимо адресов IPv4 теперь

поддерживаются адреса IPv6.

� Класс MicrosoftNLB_NodeSetting. Поддерживаются множественные вы�

деленные IP�адреса. Для этого они указываются в свойствах класса

DedicatedIPAddresses и DedicatedNetMasks.

� Расширенные возможности для работы с сервером ISA Server. Сервер

ISA Server может задать множественные выделенные IP�адреса для каж�

дого узла балансировки сетевой нагрузки. Это нужно для случаев, ког�

да клиенты работают и по протоколу IPv4, и по протоколу IPv6. Для

управления сетевым трафиком и клиенты IPv4, и клиенты IPv6 долж�

ны подключаться к определенному серверу ISA Server. Сервер ISA Server

также может оповещать узлы балансировки сетевой нагрузки о SYN�

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

перегрузке компьютера или при заражении его Интернет�вирусом.

� Поддержка множественных выделенных IP�адресов для каждого узла. Ра�

нее каждому узлу балансировки сетевой нагрузки можно было выделить

только один IP�адрес. Теперь поддерживается выделение каждому узлу

Page 134: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 137

множественных IP�адресов, что позволяет размещать в одном кластере

несколько приложений, требующих наличия выделенных IP�адресов.

Перечисленные возможности обеспечивают поддержку новых отрас�

левых стандартов, увеличенную производительность, улучшенное взаимо�

действие, усиленную защищенность и расширенную гибкость разверты�

вания и объединения приложений.

Архивация данныхАрхивация данных — это третий ключевой компонент в Windows Server

2008, предназначенный для обеспечения высокой степени доступности

служб. Функция архивации данных позволяет осуществлять резервное

копирование и восстановление данных сервера, на котором установлена

эта возможность. В новой версии используется новая технология резерв�

ного копирования и восстановления, пришедшая на смену функциям ар�

хивирования данных предыдущих версий операционных систем Windows.

Архивирование данных позволяет эффективно и надежно защищать весь

сервер, не беспокоясь о сложности технологий резервного копирования и

восстановления. Простые мастера помогают настроить автоматическое рас�

писание резервного копирования, создавать при необходимости резервные

копии вручную, а также восстанавливать отдельные элементы или целые тома.

Архивирование данных в Windows Server 2008 можно использовать для ре�

зервного копирования как отдельных томов, так и сервера целиком.

Для эффективного резервного копирования и восстановления опера�

ционной системы, файлов, папок и томов в функции архивирования дан�

ных используются служба теневого копирования томов и технология ре�

зервного копирования на уровне блоков. После первоначального созда�

ния полной резервной копии функция архивации данных автоматичес�

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

данные, измененные с момента осуществления предыдущего резервного

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

не нужно заботиться о задании расписания сохранения полных и доба�

вочных резервных копий.

Восстановление данных также было улучшено и упрощено в операци�

онной системе Windows Server 2008. Теперь можно восстанавливать от�

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

этого необходимо выбрать архив для восстановления, а затем выбрать из

него отдельные элементы. Ранее, чтобы восстановить элемент из добавоч�

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

нескольких архивов. Теперь достаточно лишь указать дату резервного

копирования необходимой версии файла.

В операционной системе Windows Server 2008 предлагаются решения для

резервного копирования и восстановления данных, которые позволяют за�

Page 135: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

138 Глава 10 Microsoft Windows Server 2008. Что еще нового?

щитить данные и операционные системы на серверах в сети организации,

упрощая при этом администрирование резервного копирования критичес�

ки важных данных и ускоряя восстановление данных. Эти решения допол�

няют набор решений для обеспечения высокого уровня доступности.

Утилита wbadmin

На смену утилите ntbackup в Windows Server 2008 появилась новая ути�

лита — wbadmin, с помощью которой можно создавать резервные копии

томов и файлов и выполнять восстановление данных на основе резерв�

ных копий непосредственно из командной строки.

Возможные варианты запуска утилиты wbadmin показаны ниже.

� Wbadmin enable backup

� Wbadmin disable backup

� Wbadmin start backup

� Wbadmin stop job

� Wbadmin get versions

� Wbadmin get items

� Wbadmin start recovery

� Wbadmin get status

� Wbadmin get disks

� Wbadmin start sysstaterecovery

� Wbadmin start sysrecovery

� Wbadmin restore catalog

� Wbadmin delete catalog

В следующей таблице описано назначение каждой из команд утилиты

wbadmin.

Команда Описание

Wbadmin enable backup Активизирует или конфигурирует ежедневное

создание резервных копий по расписанию. Данная

команда работает только в Windows Server 2008

Wbadmin disable backup Запрещает ежедневное создание резервных копий

по расписанию. Данная команда работает только

в Windows Server 2008

Wbadmin start backup Запускает задачу создания резервной копии

Wbadmin stop job Останавливает создание резервной копии

или восстановления данных

Wbadmin get versions Возвращает информацию о доступных резервных

копиях

Wbadmin get items Перечисляет элементы, включенные в резервную

копию

Page 136: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 139

Команда Описание

Wbadmin start recovery Выполняет восстановление данных. Данная

команда работает только в Windows Server 2008

Wbadmin get status Возвращает статус операции создания резервной

копии или восстановления

Wbadmin get disks Перечисляет диски, которые находятся в подклю�

ченном режиме. Данная команда работает только

в Windows Server 2008

Wbadmin start Выполняет восстановление системы. Данная ко�

sysstaterecovery манда работает только в Windows Server 2008

Wbadmin start sysrecovery Выполняет полное восстановление системы. Данная

команда работает только в Windows Server 2008

и только при использовании Windows Recovery

Environment

Wbadmin restore catalog Восстанавливает поврежденный каталог. Данная

команда работает только в Windows Server 2008

Wbadmin delete catalog Удаляет поврежденный каталог. Данная команда

работает только в Windows Server 2008

В Windows Server 2008 для восстановления данных, сохраненных с

помощью утилиты ntbackup, следует использовать специальную версию

этой утилиты, которую можно загрузить по адресу: http://go.microsoft.com/

fwlink/?LinkId=82917. Эта утилита служит только для восстановления дан�

ных и не поддерживает создание резервных копий.

Новинки в службах каталоговВ Windows Server 2008 имеется ряд усовершенствований службы катало�

гов Active Directory, упрощающих управление службой каталогов и предо�

ставляющих администраторам более гибкие возможности для удовлетво�

рения потребностей удаленных филиалов. Ниже перечислены некоторые

из ключевых усовершенствований.

� Обновленный мастер установки службы каталогов Active Directory (AD DS).

� Изменения в консоли MMC, используемой для управления службой ка�

талогов Active Directory.

� Новые варианты установки контроллеров домена.

� Обновленный мастер установки, упрощающий установку службы ката�

логов Active Directory.

� Улучшенный интерфейс и расширенные возможности управления служ�

бой каталогов Active Directory.

� Усовершенствованные средства для поиска контроллеров домена в

организации.

Page 137: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

140 Глава 10 Microsoft Windows Server 2008. Что еще нового?

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

сгруппирована, что позволяет ускорить процесс развертывания и сэконо�

мить время. Возможности автоматической установки операционной сис�

темы Windows Server 2008 позволяют еще больше упростить процесс за

счет установки системы без участия пользователя. Эта возможность так�

же позволяет установить службу каталогов Active Directory на операцион�

ной системе, установленной в варианте основных компонентов сервера.

Чтобы убедиться в правильной работе только что установленного DNS�

сервера, осуществляется автоматическая конфигурация параметров DNS�

клиента, серверов пересылки и корневых ссылок на основании парамет�

ров, заданных при установке.

Все эти усовершенствования интерфейса службы каталогов Active Direc�

tory, предлагаемые в Windows Server 2008, позволяют оптимизировать

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

время, затрачиваемое на администрирование, и упрощается управление

серверами в удаленных офисах.

Контроллеры домена только для чтенияОдной из наиболее значимых новых функций для доменных служб Active

Directory (AD DS) в Windows Server 2008 является контроллер домена только

для чтения (RODC). RODC позволяет без труда развертывать контроллеры

домена, содержащие реплику базы данных домена только для чтения. Такая

возможность очень хорошо подходит для тех мест, где нельзя гарантировать

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

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

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

сервера (который в идеале не входит в состав группы администраторов до�

мена). Все эти сценарии характерны для многих филиалов.

RODC содержит те же объекты и атрибуты, что и контроллер домена с

поддержкой записи. Тем не менее локально инициированные изменения

вносятся не в саму реплику RODC, а в контроллер домена с поддержкой

записи и только потом реплицируются назад, на контроллер RODC. Это

не позволяет изменениям, произведенным в филиалах, засорять и повреж�

дать лес Active Directory в ходе репликации.

Кроме того, администратор может настроить на контроллере RODC

хранение (кэширование) учетных данных пользователей. Когда пользова�

тель впервые пытается пройти проверку подлинности на контроллере RODC,

тот пересылает запрос контроллеру домена с поддержкой записи. Если

проверка подлинности завершается успешно, RODC запрашивает копию

учетных данных. Возможность репликации и кэширования учетных данных

на контроллере RODC определяется действующей политикой репликации

паролей. Если кэширование выполнено, при последующих попытках пользо�

вателя войти в систему его запросы обрабатываются непосредственно кон�

Page 138: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 141

троллером RODC (пока в ходе репликации не будет получено уведомление

об изменении учетных данных). Кэширование учетных данных способно

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

эффекта задержек в глобальной сети или проблем с подключением, кото�

рые нередко возникают в филиалах. Кроме того, службы AD DS ведут спи�

сок всех учетных данных, хранящихся на RODC; при возникновении про�

блем с безопасностью контроллера RODC администратор может принуди�

тельно сбросить пароли всех имеющихся на нем учетных записей.

Контроллеры RODC позволяют делегировать право на установку и управ�

ление не имеющему прав администратора персоналу филиала. Сотрудники

филиала могут выполнять установку путем подключения сервера к ранее

созданной администратором учетной записи RODC. Это устраняет необхо�

димость использовать промежуточный узел для контроллеров домена в фи�

лиале или посылать в филиал установочный носитель и администратора.

Службы федерации Active DirectoryСлужбы федерации Active Directory (AD FS) — это серверная роль в опе�

рационной системе Windows Server 2008. С помощью AD FS можно создать

расширяемое, интернет�масштабируемое и безопасное решение для уп�

равления идентификацией пользователей и правами доступа, способное

функционировать на нескольких платформах, включая среды как Windows,

так и других операционных систем. Службы AD FS включают функцию

импорта и экспорта политик, которая помогает настраивать доверитель�

ные отношения между федеративными партнерами. Добавлен поставщик

контроля членства, позволяющий пользователям федеративного партне�

ра проходить ролевую проверку подлинности при подключении к служ�

бам Windows SharePoint Services (WSS) и службам управления правами

(RMS). А администраторы могут теперь с помощью групповой политики

ограничивать развертывание служб федерации. Кроме того, поддержива�

ются разные параметры проверки отзыва сертификатов.

Аудит службы каталоговНовая субкатегория политики аудита «Изменения службы каталогов» пре�

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

точного аудита. Политика аудита «Изменения службы каталогов» сохра�

няет старые и новые значения объектов службы каталогов и их атрибу�

тов. Администраторы смогут видеть, кто и когда произвел изменение, ка�

кие объекты и атрибуты подверглись изменению, а также какими были

исходное и новое значения. Данные аудита службы каталогов заносятся в

журнал событий Windows; для их консолидации и обработки применяет�

ся Microsoft Operations Manager и средства сторонних разработчиков. За

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

каталогов и улучшается соблюдение регулятивных норм.

Page 139: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

142 Глава 10 Microsoft Windows Server 2008. Что еще нового?

Основные компоненты роли сервераУстановка основных компонентов сервера Windows Server 2008 поддер�

живается для ролей AD DS и AD LDS (службы Active Directory облегченно�

го доступа к каталогам). Основные компоненты сервера — это новый ва�

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

требующую меньше обслуживания и идеально подходящую для конкрет�

ных служб на основе ролей. Наряду с сокращением потребности в управ�

лении и обслуживании сокращается и количество уязвимостей в установ�

ке Windows Server 2008.

Перезапускаемые службы AD DSСлужбы домена Active Directory в Windows Server 2008 можно останавли�

вать и запускать из оснасток консоли управления (ММС) и из командной

строки. Службы AD DS на основе служб упрощают управление за счет со�

кращения времени, необходимого для выполнения операций в автоном�

ном режиме, таких как автономная дефрагментация и принудительное

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

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

даже во время обслуживания AD DS. Все клиенты, привязанные к останов�

ленному контроллеру домена, просто обращаются к другому контролле�

ру с помощью функции обнаружения.

Средство просмотра снимков AD DSОтображая информацию об объектах в периодически создаваемых снимках

AD DS, средство просмотра помогает идентифицировать непреднамеренно

удаленные объекты. Просматривать эти снимки можно на контроллере

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

каталогов. Путем сравнения состояния объектов в разных снимках мож�

но без труда выбрать подходящую архивную копию AD DS для восстанов�

ления удаленных объектов.

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

паролей и применять различные ограничения для паролей и политики

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

делах одного домена.

Установка с носителяПараметр «Установить с носителя» (IFM) может быть использован для ус�

тановки дополнительного контроллера домена в существующем домене

и сокращения трафика репликации в процессе установки.

Page 140: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 143

Службы развертывания WindowsСлужбы развертывания Microsoft Windows позволяют быстро развертывать

в удаленном режиме операционные системы Windows (например, Windows

Vista и Windows Server 2008). Благодаря этому можно устанавливать Win�

dows по сети на компьютерах без операционной системы, причем нали�

чие установочного носителя и физическое присутствие человека на уда�

ленном компьютере не требуется. Службы развертывания Windows были

ранее доступны как обновление для Windows Server 2003, а их усовершен�

ствованная версия была включена в состав Windows Server 2008.

Новые возможности служб развертыванияWindows в Windows Server 2008� Повышенная производительность протокола TFTP;

� Средства диагностики;

� Многоадресное развертывание.

Повышенная производительность протокола TFTPСлужбы развертывания Windows используют протокол TFTP для пересылки

сетевого загрузчика и загрузочных образов среды предустановки Windows

(WinPE). В Windows Server 2008 протокол TFTP включает настраиваемый

механизм кадрирования, который сокращает количество пакетов, отправ�

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

дит к повышению производительности.

Средства диагностикиТеперь службы развертывания Windows регистрируют подробные данные

о своих клиентах. Полученные журналы публикуются в Crimson (интегри�

рованном компоненте ведения журналов в Windows Server 2008). Их можно

экспортировать для обработки в Microsoft Office InfoPath или другое сред�

ство извлечения данных.

Многоадресное развертываниеЭтот метод позволяет развертывать операционные системы Windows на

множестве компьютеров одновременно, обеспечивая при этом сохране�

ние пропускной способности сети. Службы развертывания Windows под�

держивают два метода многоадресного развертывания:

� ScheduledCast — развертывание на основе задач;

� AutoCast — всегда доступное развертывание.

ScheduledCast контролирует время начала развертывания. Только кли�

енты, подключившиеся до наступления этого момента, могут участвовать

в развертывании по этому методу.

Page 141: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

144 Глава 10 Microsoft Windows Server 2008. Что еще нового?

Метод AutoCast позволяет клиентам подключаться к многоадресному

потоку в любое время и комбинирует их в целях сохранения пропускной

способности. Процесс AutoCast, будучи однажды настроен на образ опе�

рационной системы, остается активным до тех пор, пока не будет оста�

новлен вручную. Однако образ пересылается по сети только тогда, когда

его запросит клиент.

И ScheduledCast, и AutoCast отображают данные о том, какие клиенты

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

Новинки в сетевых функцияхСреди многочисленных новых и улучшенных возможностей Microsoft

Windows Server 2008 наиболее важную роль играют изменения, связанные

с работой в сети. Эти обновления представляют самый большой набор

изменений со времени выпуска Windows Server в 1990�х годах. Они по�

могают ИТ�администраторам обеспечивать большую безопасность, надеж�

ность и масштабируемость работы в сети.

Центральное место среди этих улучшений принадлежит «стеку TCP/IP

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

функциональных возможностей Windows TCP/IP, соответствующих служб

и интерфейсов прикладного программирования. Стек TCP/IP следующе�

го поколения представляет полнофункциональную архитектуру, отвеча�

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

временных сетевых сред и технологий. В то же время расширяемость

нового стека TCP/IP обеспечивает гибкость при адаптации новых сетевых

стандартов и удовлетворении потребностей заказчиков в будущем.

К изменениям и улучшениям сетевых протоколов и базовых компонен�

тов в Windows Server 2008 относятся следующие:

� новая двойная архитектура IP стека TCP/IP для универсальной поддерж�

ки IPv4 и IPv6;

� интеллектуальные алгоритмы автоматической настройки и оптимиза�

ции сети;

� безопасность сетевых узлов и улучшения IPsec;

� интегрированная поддержка аппаратной разгрузки сети и технологий

ускорения;

� упрощенное управление и сетевая диагностика;

� набор интерфейсов прикладного программирования, обеспечивающих

разнообразные возможности расширения.

Администраторы Windows Server получат следующие преимущества

благодаря использованию этих сетевых инноваций и улучшений.

Page 142: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 145

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

тущему количеству сетевых угроз, Windows Server 2008 включает целый

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

многоуровневой защиты, эти функции составляют основу нескольких

ключевых решений в области сетевой безопасности на основе политик,

таких как: изоляция сервера и домена (EN), защита доступа к сети (NAP)

(EN), а также безопасная беспроводная ЛВС (EN):

� Улучшенный межсетевой экран Windows поддерживает фильтрацию

входящих и исходящих пакетов, а также интегрированную функцио�

нальность IPsec.

� Упрощенная конфигурация политики IPsec с расширенными метода�

ми проверки подлинности, полная поддержка IPv4 и IPv6, а также ин�

теграция с защитой доступа к сети.

� Новые параметры групповой политики для управления безопасностью

проводного и беспроводного подключения.

� Разнообразные интерфейсы прикладного программирования для про�

верки сетевых пакетов и более безопасные приложения на базе Windows

Sockets.

Повышенная производительность и надежностьБлагодаря обновленным интеллектуальным алгоритмам, Windows Server

2008 автоматически настраивает параметры сетевого подключения для

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

сти. Это приводит к ускоренной передаче данных, лучшему использова�

нию пропускной способности сети и повышенной надежности подклю�

чения. Windows Server 2008 динамически настраивает подключение с уче�

том конкретных условий, включая следующие.

� Доступная полоса пропускания и время ожидания — Средство автома�

тической настройки TCP Receive Window Auto�Tuning динамически на�

страивает размер принимающего буфера TCP, используемого для хра�

нения входящих данных, с целью повышения пропускной способнос�

ти, особенно по ссылкам с высокой пропускной способностью и про�

должительным временем ожидания.

� Перегрузка сети — Для лучшего использования пропускной способно�

сти сети средство Compound TCP (CTCP) значительно увеличивает ко�

личество отправляемых одновременно данных с помощью наблюдения

за продуктом, вызывающим снижение производительности, варианта�

ми задержки и потерей пакетов.

Page 143: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

146 Глава 10 Microsoft Windows Server 2008. Что еще нового?

� Среды с высоким уровнем потери пакетов — Поддержка нескольких ал�

горитмов оптимизации сети на основе стандартов, таких как быст�

рое восстановление TCP, параметр TCP Selective Acknowledge (SACK) и

Forward RTO�Recovery, обеспечивает повышенную надежность и быст�

рое восстановление в средах с высоким уровнем потери пакетов, та�

ких как беспроводные сети.

� Сбои при маршрутизации пути — Улучшенные механизмы обнаруже�

ния и повышения отказоустойчивости неработающих шлюзов и пере�

груженных маршрутизаторов повышает скорость восстановления и гиб�

кость маршрутизации.

Большая масштабируемостьДля того чтобы сохранить высокий темп удовлетворения требований,

предъявляемых ИТ�инфраструктуре, необходима возможность масштаби�

рования сетевых ресурсов. Windows Server 2008 обеспечивает расширен�

ное масштабирование сети благодаря улучшенной поддержке многогига�

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

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

интернет�протоколов следующего поколения.

� Разгрузка обработки сетевых пакетов с помощью специализированных

сетевых адаптеров, в которых применяется TCP Offload Engine (TOE) и

другие технологии ускорения работы в сети, включая поддержку Gigabit

IPsec Task Offload.

� Динамическое балансирование входящих сетевых подключений с по�

мощью масштабирования на получающей стороне для распределения

трафика по нескольким процессорам или ядрам для увеличения про�

изводительности сервера.

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

пускания с помощью политик качества службы (QoS) на уровне узлов,

управляемых с помощью Active Directory.

� Включение новых сценариев и способов подключения за счет всесто�

ронней поддержки IPv6, включая технологии перехода, такие как про�

токол ISATAP.

В целом новые и обновленные функции для работы в сети в Windows

Server 2008 создают основу для более защищенной, надежной и масшта�

бируемой платформы, удовлетворяющей потребности подключения сегод�

няшнего и завтрашнего дня.

Page 144: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Глава 10 Microsoft Windows Server 2008. Что еще нового? 147

Новые механизмы управления печатьюЧем больше организация, тем больше в ней сетевых принтеров, и тем

больше времени требуется ИТ�персоналу для установки принтеров и уп�

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

Windows Server 2008 имеется консоль управления печатью, которая явля�

ется оснасткой для консоли управления MMC и позволяет администрато�

рам из одной консоли осуществлять управление, мониторинг и устране�

ние неполадок в работе всех принтеров организации, даже расположен�

ных удаленно.

Консоль управления печатью предоставляет доступ к актуальным све�

дениям о состоянии всех принтеров и серверов печати. Также служба уп�

равления печатью помогает обнаружить принтеры, находящиеся в состо�

янии ошибки, и может автоматически отправлять уведомления по элект�

ронной почте или выполнять сценарии, если необходимо обратить вни�

мание на тот или иной принтер или сервер печати. Если принтер предо�

ставляет дополнительные данные через веб�интерфейс, доступ к этим

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

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

сведения, как количество тонера или бумаги. Помимо этого, служба управ�

ления печатью может автоматически осуществлять поиск и установку се�

тевых принтеров в локальной подсети локальных серверов печати.

Консоль управления печатью позволяет экономить значительное коли�

чество времени при установке принтеров на клиентские компьютеры или

при управлении и отслеживании состояния принтеров. Вместо ручной

установки и настройки подключения к принтерам на компьютерах пользо�

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

автоматического добавления этих подключений в папку «Принтеры и

факсы» на этих компьютерах. Это очень эффективный и экономичный

способ добавления принтеров для большого количества пользователей,

которым требуется доступ к одному и тому же принтеру, например для

пользователей из одного отдела, а также для пользователей в филиалах.

Возможности автоматизации и централизованный интерфейс консо�

ли управления печатью позволяют устанавливать принтеры, открывать

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

ние и уменьшая время, затрачиваемое ИТ�персоналом на развертывание

принтеров.

Page 145: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 1. Технологии защитыприложений в Windows Vistaи Windows Server 2008

Ряд расширений, появившихся в новой версии клиентской операционной

системы Microsoft Windows Vista, а также планируемых к появлению в Win�

dows Server 2008, предназначен для обеспечения защиты приложений и,

соответственно, пользователей этих приложений, от вредоносного кода.

В этом приложении мы познакомимся с некоторыми из этих расширений,

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

ми компилятора Microsoft Visual C++, а также со способами включения этих

расширений в «неуправляемый» код, написанный на языках С и С++.

Проверка переполнения буфера стекаПоддержка переполнения буфера стека поддерживается на уровне компи�

лятора языка С/С++, начиная с версии Visual Studio .NET 2002. Используя

опцию компилятора /GS (эта опция поддерживается по умолчанию в Visual

C++, даже если она не указана в командной строке), мы указываем на не�

обходимость вставки кода пролога и эпилога для функции. Этот код ге�

нерирует случайное число (называемое Security Cookie), которое помеща�

ется в стек функции. Если сгенерированное случайное число окажется

«испорченным», вызывается код завершения приложения — таким обра�

зом снижается вероятность запуска «эксплоитов», базирующихся на воз�

можностях переполнения буфера.

В Visual C++ 2005 код пролога и эпилога выглядит следующим образом:

// Пролог

subesp, 8

moveax, DWORD PTR ___security_cookie

xoreax, esp

movDWORD PTR __$ArrayPad$[esp+8], eax

moveax, DWORD PTR _input$[esp+4]

// Эпилог

movecx, DWORD PTR __$ArrayPad$[esp+12]

addesp, 4

xorecx, esp

call @__security_check_cookie@4

addesp, 8

Отметим, что компилятор Visual C++ 2005 также включает код, переме�

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

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

Page 146: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

150 Приложение 1

ней области памяти — это позволяет защитить указатели на функции, рас�

полагаемые в стеке. Перемещение указателей и аргументов буфера в ниж�

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

на буфер и использования переполнения буфера. Разработчикам рекомен�

дуется использовать самую актуальную версию компилятора Visual C++ и

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

В Visual C++ 2005 SP1 появился ряд новых прагм (pragma) со следую�

щим синтаксисом:

#pragma strict_gs_check([push,] on )

#pragma strict_gs_check([push,] off )

#pragma strict_gs_check(pop)

Рекомендуется включать эти прагмы в код, содержащий функции, ко�

торые могут быть подвержены атаке, или код, работающий с данными,

получаемыми извне.

Подробное описание опции компилятора /GS см. на сайте MSDN по

адресу: http://msdn2.microsoft.com/en�US/library/8dbf701c.aspx.

Защита при обработке исключенийОбработчик исключения — это код, который получает управление при воз�

никновении какой�либо нештатной ситуации, например при делении

на ноль, переполнении стека и т. п. Адрес такого обработчика хранится в

стеке функции и, таким образом, он может стать предметом атаки для

вредоносного кода.

Компоновщик, входящий в состав Visual Studio 2003 и более поздних

версий продукта, имеет опцию (/SafeSEH), позволяющую хранить ссылки

на обработчики исключений в заголовке образа исполняемого файла

(т. н. PE Header).

При возникновении исключительной ситуации операционная систе�

ма использует адрес обработчика, хранящийся в заголовке PE — такая фун�

кциональность поддерживается, начиная с Windows XP SP2 и является стан�

дартной для Windows Server 2003, Windows Vista, Windows Server 2008 и

будущих версий клиентской и серверной операционных систем компа�

нии Microsoft.

Подробное описание опции компоновщика /SafeSEH см. на сайте MSDN

по адресу: http://msdn2.microsoft.com/en�US/library/9a89h429.aspx.

Поддержка No eXecute (NX), Data ExecutionPrevention (DEP) и eXecute Disable (XD)Ряд технологий — No eXecute (NX) компании Advanced Micro Devices (AMD),

Data Execution Prevention (предотвращение выполнения данных, DEP) ком�

Page 147: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 1 151

пании Microsoft и eXecute Disable (XD) компании Intel, предотвращают

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

ния данных. Все современные процессоры компаний Intel и AMD поддер�

живают, соответственно, технологии XD и NX. Поддержка Data Execution

Prevention была впервые реализована в Windows XP SP2 и является одной

из ключевых для обеспечения безопасного выполнения кода в Windows Vista,

особенно когда она используется совместно с технологией Address Space

Layout Randomization (ASLR), которую мы рассмотрим ниже. В силу опре�

деленной специфики, Data Execution Prevention несовместима с приложе�

ниями, содержащими само�модифицируемый код, а также приложениями,

выполняющими компиляцию в режиме выполнения — при запуске таких

приложений произойдет ошибка. Если создаваемые вами приложения со�

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

выполнения, следует использовать функцию VirtualProtect() с аргументом

PAGE_EXECUTE_READ для определения наличия защиты от выполнения кода

в сегментах, предназначенных для хранения данных и корректного завер�

шения приложения с соответствующим сообщением об ошибке.

Разработчикам рекомендуется оттестировать работу приложения под

процессорами, поддерживающими технологии XD и NX, внести необхо�

димые корректировки в код и перекомпилировать приложения, исполь�

зуя опцию компилятора /NXCOMPAT.

На уровне операционной системы в Windows XP SP2 и Windows Server

2003 настройка Data Execution Prevention определяется параметрами в

файле Boot.ini — эти параметры могут задавать в панели управления —

System Properties | Advanced | Performance | Data Execution Prevention.

В Windows поддерживается четыре возможных значения для в Data Execu�

tion Prevention — при каждом из них может использоваться как программ�

ная, так и аппаратная реализация этой технологии.

Возможные настройки Data Execution Prevention показаны в следующей

таблице.

Настройка Описание

OptIn Используется по умолчанию. На компьютерах, оснащенных

процессорами с поддержкой DEP, функция DEP включена

по умолчанию для ограниченного числа системных файлов

и программ. При этом по умолчанию защищаются только

системные файлы Windows.

OptOut По умолчанию функция DEP включена для всех процессов.

В диалоговом окне Система панели управления можно вруч�

ную создать список приложений, для которых следует отклю�

чить DEP. Для отключения функции DEP для одной или более

программ можно использовать Application Compatibility

Toolkit — в этом случае будут применены исправления,

обеспечивающие совместимость программ с DEP.

Page 148: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

152 Приложение 1

Настройка Описание

AlwaysOn Функция DEP включается для всей системы. Все процессы

работают с выполнением проверок DEP. В этом режиме нельзя

отключить функцию DEP для отдельных приложений. Исправ�

ления, обеспечивающие совместимость программ с DEP

не применяются.

AlwaysOff Функция DEP отключена для всей системы, независимо от на

личия аппаратной поддержки DEP. Процессор не работает

в режиме PAE, если в файле Boot.ini не указан параметр /PAE.

Настройки Data Execution Prevention в Windows XP SP2 и Windows Vista

Если на уровне системы для функции DEP выбран режим OptIn, то ос�

новные программы и файлы Windows будут защищены как программной,

так и аппаратной реализацией DEP.

Если система не может использовать аппаратную реализацию DEP, то

указанные программы и файлы Windows будут защищены только программ�

ной реализацией DEP.

Аналогично, если на уровне системы для функции DEP выбран режим

OptOut, программы, для которых отключена функция DEP, не будут защи�

щены ни программной, ни аппаратной реализацией данной функции.

Параметры, указываемые в файле Boot.ini, выглядят так:

/noexecute=[AlwaysOn, AlwaysOff, OptIn или OptOut]

Содержимое файла Boot.ini может выглядеть следующим образом:

Page 149: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 1 153

[boot loader]

timeout=30

default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS

[operating systems]

multi(0)disk(0)rdisk(0)partition(1)\WINDOWS=”Microsoft Windows XP Home Edition” /

fastdetect /NoExecute=OptIn

multi(0)disk(0)rdisk(0)partition(2)\WINDOWS=”Windows XP x64 Edition 2003" /

fastdetect

Для проверки поддержки Data Execution Prevention на аппаратном уров�

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

утилиту WMIC или утилиту WBEMTest.

В первом случае мы выполняем следующую команду:

C:\>wmic OS Get DataExecutionPrevention_Available

Если возвращается значение True, аппаратная поддержка DEP доступна, в

противном случае возвращается значение False. Уровень поддержки DEP

можно определить следующей командой:

C:\>wmic OS Get DataExecutionPrevention_SupportPolicy

которая может вернуть одно из следующих значений: 0 — AlwaysOff,

1 — AlwaysOn, 2 — OptIn (значение по умолчанию) или 3 — OptOut.

С помощью утилиты WBEMTest мы можем выполнить следующие дей�

ствия:

1. В диалоговой панели Windows Management Instrumentation Tester на�

жмем кнопку Connect и укажем значение root\cimv2.

2. Щелкнем кнопку Enum Instances и в диалоговой панели Class Info вве�

дем Win32_OperatingSystem.

3. В диалоговой панели Query Result выберем самый первый элемент и

двойным щелчком мышью перейдем в Object Editor.

4. В списке свойств найдем DataExecutionPrevention_Available и обратим

внимание на значение этого свойства — оно может иметь одно из зна�

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

Используя Windows PowerShell также можно получить информацию о

настройках Data Execution Prevention.

Сначала выполним команду

PS C:\> GetWMIObject Win32_OperatingSystem | GetMember DataExecutionPrevention*

для получения всех возможных свойств объекта Win32_OperatingSystem,

используемых для хранения данных о DEP. Таких свойств четыре: Data

Execution Prevention_32BitApplications, Data Execution Prevention_Available,

Data Execution Prevention_Drivers, Data Execution Prevention_SupportPolicy.

Page 150: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

154 Приложение 1

После этого мы можем получить значения каждого из перечисленных выше

свойств.

Получение данных о Data Execution Prevention через WMI

Свойство Возможные значения

Data Execution Prevention_ TRUE — DEP активизирована для приложений

32BitApplications FALSE — DEP не активизирована для приложений

Data Execution TRUE — DEP активизирована

Prevention_Available FALSE — DEP не активизирована

Data Execution TRUE — DEP активизирована для драйверов

Prevention_Drivers FALSE — DEP не активизирована для драйверов

Data Execution 0 — DEP запрещена для всех процессов

Prevention_SupportPolicy 1 — DEP разрешена для всех процессов

2 — DEP разрешена для системных компонентов

Windows

3 — DEP разрешена для всех компонентов,

кроме помеченных специальным образом

Например:

$OS = Get-WMIObject Win32_OperatingSystem

Echo $OS.Data Execution Prevention_32BitApplications

Более подробно о функции VirtualProtect() см. на сайте MSDN по адре�

су: http://msdn2.microsoft.com/En�US/library/aa366898.aspx.

О процессорах ADM см. сайт http://www.amd.com/us�en/Processors —

в описании процессора должна быть указана поддержка NX. Процессоры

Intel описаны на сайте http://www.intel.com/products/processor — в описа�

нии процессора должна быть указана поддержка XD.

Page 151: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 1 155

Технология Data Execution Prevention описана на сайте Microsoft по

адресу http://support.microsoft.com/kb/875352. Также см. статью «Memory

Protection Technologies» на сайте Microsoft TechNet по адресу http://technet.

microsoft.com/en�us/library/bb457155.aspx.

Подробное описание опции компоновщика /NXCOMPAT см. на сайте

MSDN по адресу: http://msdn2.microsoft.com/en�US/library/ms235442.aspx.

Случайное распределение адресногопространства — Address space layoutrandomization (ASLR)Технология случайного распределения адресного пространства (ASLR)

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

памяти — поддерживается до 255 различных адресов, что существенно сни�

жает вероятность успешного проведения атаки типа «return�to�libc» и схо�

жих с ней. По умолчанию в Windows Vista случайным образом загружа�

ются системные исполняемые файлы (EXE) и динамические библиотеки

(DLL). Исполняемые файлы и динамические библиотеки, создаваемые

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

компоновщик Microsoft Linker версии 8.00.50727.161 или более поздней)

с использованием опции /DYNAMICBASE для того, чтобы на них распро�

странялась ASLR.

Случайное распределение «кучи»В Windows Vista при создании «кучи» для приложения она располагается

случайным образом. Тем самым снижается шанс успешного выполнения

атаки, основанной на переполнении буфера, располагаемого в куче. Эта

функциональность поддерживается в Windows Vista по умолчанию.

Случайное распределение стекаПри создании потока для процесса, помеченного с помощью опции

/DYNAMICBASE, Windows Vista перемещает стек потока в случайным об�

разом выбранную область памяти. Тем самым снижается шанс успешного

выполнения атаки, основанной на переполнении буфера, располагаемо�

го в стеке.

Определение повреждения кучиС помощью функции HeapEnableTerminationOnCorruption() можно вклю�

чить проверку повреждения кучи, что приведет к завершению процесса

при обнаружении повреждений. Ниже приведен пример кода, показыва�

ющий использование данной функции.

BOOL SetHeapOptions()

Page 152: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

156 Приложение 1

{

HMODULE hLib = LoadLibrary(L”kernel32.dll”);

if (hLib == NULL) return FALSE;

typedef BOOL (WINAPI *HSI) (HANDLE, HEAP_INFORMATION_CLASS ,PVOID,

SIZE_T);

HSI pHsi = (HSI)GetProcAddress(hLib,”HeapSetInformation”);

if (!pHsi)

{

FreeLibrary(hLib);

return FALSE;

}

#ifndef HeapEnableTerminationOnCorruption

# define HeapEnableTerminationOnCorruption

(HEAP_INFORMATION_CLASS)1

#endif

BOOL fRet = (pHsi)(NULL,HeapEnableTerminationOnCorruption,NULL,0) ? TRUE : FALSE;

if (hLib) FreeLibrary(hLib);

return fRet;

}

Завершая эту часть нашего обзора технологий защиты приложений в

Windows Vista и Windows Server 2008, отметим, что весь код приложения

и библиотек необходимо полностью оттестировать на совместимость с

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

ледние версии компилятора и компоновщика.

Page 153: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2. Механизмыобеспечения надежности приложений

В данном приложении мы рассмотрим два включенных в состав опера�

ционных систем Microsoft Windows Vista и Windows Server 2008 механиз�

ма обеспечения надежности приложений — Windows Feedback Platform и

и Restart Manager.

Механизм Windows Feedback Platform служит для сбора информации

о сбоях, произошедших в приложениях, и отсылки этой информации на

специальный сайт. Информация может быть проанализирована разработ�

чиками приложения и, в случае обнаружения ошибок в приложении, мо�

жет быть выпущен пакет обновлений, который станет доступным пользо�

вателю. Своевременное оповещение разработчиков об ошибках в прило�

жениях может существенно сократить время создания обновлений и, та�

ким образом, повысить качество приложений.

Второй механизм — Restart Manager — служит для сохранения инфор�

мации при внезапных сбоях, перезапусках приложений и в ряде других си�

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

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

Windows Feedback PlatformWindows Feedback Platform (WFP) — это дальнейшее развитие механиз�

мов Windows Error Reporting (WER). В него включены все возможности

Windows Error Reporting, а также ряд новинок, впервые появившихся в

Windows Vista. На высоком уровне процесс использования WFP выглядит

следующим образом:

1. Пользователь работает с приложением;

2. В приложении внезапно происходит сбой, зависание или утечка памя�

ти — все эти три состояния отслеживаются Windows Vista;

3. Данные, описывающие возникшие проблемы, отсылаются на специаль�

ный портал WinQual;

4. Разработчик приложения может проанализировать отосланные данные;

5. В приложение вносятся исправления и они публикуются на портале;

6. Пользователь узнает о появлении исправленной версии через Problem

Center в Windows Vista.

Как следует из приведенного выше описания процесса, он состоит из двух

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

на участие разработчиков. Полноценная отдача от механизма Windows Feed�

back Platform возможна только при использовании обоих частей.

Page 154: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

158 Приложение 2

Windows Feedback Platformна уровне пользователейОт пользователей требуется не игнорировать предложение отослать от�

чет о сбое (кнопка «Send the Report») — отчет отсылается при первом по�

явлении соединения с Интернетом — и затем периодически проверять на�

личие решения проблемы в специальном разделе Control Panel, который

называется System and Maintenance | Problem Center (Problem Reports and

Solutions). При появлении решения проблемы следует активизировать

соответствующую ссылку и выполнить указанные действия.

Пользователям предоставляется возможность сконфигурировать сер�

висы WFP и указать — нужно ли отсылать данные о сбоях или нет. Это воз�

можно как при установке Windows Vista, так и через настройки Group Policy.

Новый компонент Control Panel в Windows Vista — Problem Center (Prob�

lem Reports and Solutions), доступный в разделе System and Maintenance,

отображает список проблем в исторической перспективе, отосланные от�

четы об ошибках и предоставляет доступ к решениям проблем по мере

появления таких решений.

Раздел System and Maintenance в Control Panel

Problem Center можно вызывать из Control Panel или непосредственно

как отдельную утилиту — в этом случае командная строка вызова будет выг�

лядеть так: %SystemRoot%\system32\wercon.exe.

Page 155: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2 159

Как видно из приведенного выше рисунка, информация в Problem Center

делится на три группы — Check for new solutions (Искать новые решения),

Choose how to check for solutions (Выбор способа проверки наличия ре�

шений) и View problem history (Просмотр истории сбоев).

При открытии экрана поиска новых решений (см. следующий рис.)

можно узнать, появились ли решения проблем, информация о которых

была отослана ранее.

Раздел Check for new solutions

При наличии решений у пользователей появляется возможность обра�

титься к онлайновой службе (требуется подключение к Интернету) для

получения дальнейших указаний.

Раздел Choose how to check for solutions

Раздел выбора способа проверки наличия решений позволяет выбрать

между автоматическим поиском решений (рекомендуется включить эту

опцию) и поиском после получения подтверждения от пользователя.

Page 156: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

160 Приложение 2

В разделе расширенных настроек можно включить или выключить

использование механизмов WFP, а также выбрать приложения, информа�

цию о сбоях в которых отсылать не нужно.

И, наконец, раздел истории сбоев позволяет получить краткую информа�

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

тором произошел сбой, тип сбоя (включая ошибки на уровне операцион�

ной системы), дата и время сбоя, а также статус — была отослана инфор�

мация о сбое или нет.

Раздел View problem history

Каждая запись в протоколе ошибок может быть раскрыта для получе�

ния более подробной информации. Например, можно узнать, что имен�

но было отослано в составе отчета.

Как видно из приведенного ниже рисунка, никакой конфиденциальной

информации в Microsoft не отправляется. В ряде случаев для решения

конкретной проблемы с тем или иным приложением или с работоспособ�

ностью компонентов Windows может потребоваться дополнительная ин�

формация. В этом случае запрос на дополнительные данные будет отобра�

жен в соответствующей строке протокола.

Как мы отметили выше, процесс обработки и исправления ошибок в при�

ложениях состоит из двух частей. Задача пользователей — отсылать инфор�

мацию о возникновении ошибок в приложениях и обращаться к Problem

Center за возможными решениями. Задача разработчиков приложений —

своевременно обрабатывать и анализировать данные о сбоях в приложени�

ях и создавать обновления или «заплатки» к своим приложениям.

Page 157: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2 161

Детальная информация о сбое

Windows Feedback Platformна уровне разработчиков

Портал Windows Quality Online Services

Данные, собранные о приложении, в котором произошел сбой, отсыла�

ются на специальный портал Windows Quality Online Services, расположен�

Page 158: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

162 Приложение 2

ный по адресу https://winqual.microsoft.com. Любая компания, производя�

щая программное обеспечение, может бесплатно зарегистрироваться на

этом портале и получать информацию о сбоях в своих приложениях. Един�

ственная затрата — приобретение сертификата у компании Verisign.

Программные интерфейсыWindows Feedback PlatformДля разработчиков существует обширный набор программных интерфей�

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

и отсылки отчетов на сайт WinQual.

В Windows Vista появился ряд новых программных интерфейсов, ко�

торые можно использовать в рамках сервисов WFP. К таким программным

интерфейсам относится функция для добавления к отчету, отсылаемому

на портал WinQual файлов — WerRegisterFile(), а также функция WerSet�

Flags(), используя которую можно сконфигурировать отчет о сбое.

Создадим небольшой пример, иллюстрирующий работу этих функций.

В приложение на управляемом коде (в нашем примере это будет язык

C#) добавим следующее описание функции:

internal const int WerRegFileTypeOther = 2;

internal const int WER_FILE_ANONYMOUS_DATA = 2;

[System.Runtime.InteropServices.DllImport(“kernel32.dll”,

CharSet = CharSet.Auto)]

internal static extern int

WerRegisterFile(string pwzFile, int regFileType, int dwFlags);

Используя эту функцию мы сможем добавлять к отчетам файлы, содер�

жащие дополнительную информацию. Например:

WerRegisterFile(“CrashData.txt”,

WerRegFileTypeOther, WER_FILE_ANONYMOUS_DATA);

Файл должен находиться в том же каталоге, что и исполняемый файл

приложения.

Дополнительная информация по механизмам Windows Feedback Platform

доступна на сайте Microsoft по адресу http://msdn.microsoft.com/isv/resources/

wer/default.aspx.

Говоря о механизмах обеспечения надежности приложений в Windows

Vista, также следует упомянуть и механизм Restart Manager.

Page 159: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2 163

Механизм Restart ManagerВ основе механизма Restart Manager лежат две функции. Вызов функции

RegisterApplicationRestart() позволяет вашему приложению перезапуститься

после сбоя и отсылки отчета о произошедшем сбое (используя рассмотрен�

ные ранее механизмы Windows Feedback Platfrom), таким образом обеспе�

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

кции из состава Restart Manager — RegisterApplicationRecoveryCallback() —

позволит вам указать ядру Windows Vista, какую функцию вашего прило�

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

ния — следовательно, у вас появляется возможность сохранения данных с

их последующим восстановлением после перезапуска приложения.

При вызове функции RegisterApplicationRestart() указывается команд�

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

образом, используя опции командной строки, параметры или другие спо�

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

и инициировать процесс восстановления данных.

Функция RegisterApplicationRecoveryCallback() задает точку входа в при�

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

данных, необходимых для генерации отчета о произошедшем сбое. При

получении управления приложение должно попытаться сохранить данные

на диске. В процессе сохранения данных необходимо вызывать функцию

RecoveryInProgress() приблизительно каждые пять сек. для того, чтобы

операционная система помнила о том, что приложение находится в про�

цессе сохранения данных, — в противном случае ядро операционной

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

выполнение. Это необходимо в тех случаях, когда попытка сохранения

данных приводит к дополнительному сбою в приложении и появляется

возможность «зацикливания» обработки сбоев. По завершении сохране�

ния данных вызывается функция RecoveryFinished().

Сигналом для завершения работы Windows�приложения является по�

лучение сообщений WM_QUERYENDSESSION и WM_ENDSESSION со зна�

чением параметра LPARAM, равным ENDSESSION_CLOSEAPP (0x1).

Консольные приложения должны проверять нажатие комбинации кла�

виш Ctrl+C. Ниже показан пример обработчиков событий для Windows�

приложения и консольного приложения.

//—————————————————————�

// Windows�приложение

//—————————————————————�

...

hr = RegisterApplicationRestart(CommandLineParameter, NULL);

...

switch(message)

Page 160: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

164 Приложение 2

{

case WM_QUERYENDSESSION:

{

//

// Принудительное завершение приложения

//

if(lParam & ENDSESSION_CLOSEAPP)

{

//Сохранение данных, состояния приложения

hr = SaveData();

}

// Выход из обработчика событий

return 1;

}

case WM_ENDSESSION:

...

//—————————————————————�

// Консольное приложение

//—————————————————————�

BOOL ControlHandlerRoutine(DWORD ControlEvent)

{

switch(ControlEvent)

{

//

// Принудительное завершение приложения

//

case CTRL_C_EVENT:

{

TerminateRequest = TRUE;

return FALSE;

}

...

Соответственно код, сохраняющий данные, может выглядеть так:

HRESULT SaveData()

{

// Создать временный файл

uReturnValue = GetTempFileName(PathBuffer,”~rm”,0,RecoveryFile);

// Создать файл для сохранения данных

FileHandle = CreateFile((LPTSTR)RecoveryFile,...);

// Получить размер буфера редактора

TextBufferLength = GetWindowTextLength(EditControlHwnd);

// Скопировать текст из редактора во временную строку

GetWindowText(EditControlHwnd, TextBuffer, TextBufferLength+1);

Page 161: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2 165

// Сохранить содержимое строки в файле

Result = WriteFile(FileHandle, TextBuffer,

TextBufferLength+1, &NumberOfBytesWritten, NULL);

}

Restart Manager и программыустановки приложенийКак мы уже отмечали, механизм Restart Manager должен использоваться

программами установки приложений для предотвращения лишних пере�

загрузок операционной системы. Указанная функциональность базируется

на нескольких функциях, реализованных в рамках механизма Restart

Manager; (табл. 1).

Табл. 1. Функции, реализованные в рамках механизма Restart Manager

Функция Описание

RmStartSession Начинает новую сессию

RmRegisterResources Регистрирует ресурсы в Restart Manager

RmGetList Возвращает список приложений и сервисов,

использующих зарегистрированные ресурсы

RmShutdown Завершает работу приложений и сервисов

для освобождения занятых ими ресурсов

RmRestart Перезапускает завершенные приложения или сервисы

RmEndSesion Завершает сессию

Работа с Restart Manager начинается с создания новой сессии через вызов

функции RmStartSession() — все последующие операции выполняются в

рамках этой сессии. Для одной учетной записи поддерживается до 64�х

одновременно открытых сессий Restart Manager.

При необходимости расширенные скрипты инсталляционного пакета

(custom actions) могут подключиться к уже существующей сессии — для

этого применяется функция RmJoinSession(). После того как сессия создана,

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

щью функции RmRegisterResources(). К ресурсам относятся файлы, описы�

ваемые их полными именами, а также процессы, идентифицируемые че�

рез PID и время создания процесса, и сервисы, описываемые их именами.

Кроме того, имеется возможность регистрации ресурсов, описанных струк�

турой RM_UNIQUE_PROCESS.

Функция RmGetList() возвращает список приложений и сервисов, при�

меняющих зарегистрированные ресурсы в виде массива структур RM_PRO�

CESS_INFO. Она базируется на расширенной функциональности Windows

Page 162: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

166 Приложение 2

Vista/Longhorn Server, позволяющей определить процессы, использующие

те или иные файлы. Эта функциональность позволяет определить DLL,

файлы данных и файлы, отображаемые в области памяти (memory mapped

files). Также имеется возможность идентифицировать сервисы внутри служ�

бы svchost, применяющие необходимые нам файлы. Процессы подразде�

ляются на «видимые» GUI�приложения, «невидимые» GUI�приложения,

сервисы, консольные приложения, Windows Explorer, критичные процес�

сы и процессы неизвестного типа. Типы процессов описаны структурой

RM_APP_TYPE (табл. 2).

Табл. 2. Типы процессов, описанные структурой RM_APP_TYPE

Тип Код Описание

RmUnknownApp 0 Приложение не может быть классифицировано

RmMainWindow 1 Windows�приложение в отдельном процессе

с главным окном

RmOtherWindow 2 Windows�приложение без отдельного процесса

и главного окна

RmService 3 Сервис Windows

RmExplorer 4 Windows Explorer

RmConsole 5 Консольное приложение

RmCritical 1000 Процесс, критичный для Windows

Кроме того, функция RmGetList() позволяет автоматически определить

необходимость в перезагрузке процесса.

Функция RmShutdown() использует те же нотификационные механиз�

мы и протоколы, что и системная функция завершения процессов:

� Windows�приложения получают сообщение WM_QUERYENDSSION и

сообщение WM_ENDSESSION с параметром LPARAM со значением END�

SESSION_CLOSEAPP;

� Windows�приложения, написанные для предыдущих версий операци�

онной системы, получают сообщение WM_CLOSE;

� сервисы завершаются через команды Service Control Manager. При этом

учитываются зависимости, которые могут существовать и между сер�

висами;

� консольные приложения получают сообщение CRTL_C_EVENT.

Приложения, идентифицированные как критичные для обеспечения

работоспособности операционной системы, не могут быть завершены

принудительно. Среди возможных опций отметим возможность принуди�

тельного завершения приложения и сервисов, которые завершились с

ошибками, а также возможность завершения только приложений, зареги�

стрированных в Restart Manager.

Page 163: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2 167

Перезапуск приложений и сервисов выполняется с помощью функции

RmRestart(), повторно запускающей приложения и сервисы, работа кото�

рых была завершена с помощью функции RmShutdown(). Windows�при�

ложения и консольные приложения перезапускаются посредством коман�

дной строки, указанной при их регистрации с помощью функции Register�

ApplicationRestart(). Сервисы перезапускаются с помощью Service Control

Manager; все сервисы, которые зависели от перезапускаемого сервиса и

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

Приложения, которые поддерживают автоматическое сохранение своего

состояния и данных (например, приложения, входящие в состав Microsoft

Office 2007), автоматически восстанавливают свое состояние. Для переза�

пуска приложений после рестарта операционной системы используется

функция InitiateShutdown() с флагом SHUTDOWN_RESTARTAPPS — ее дей�

ствие распространяется только на приложения, зарегистрированные в

Restart Manager.

Открытая сессия Restart Manager завершается вызовом функции RmEnd�

Sesion().

Программа установки приложений Microsoft Windows Installer (MSI)

версии 4.0 поддерживает механизмы Restart Manager автоматически. Для

программ установки, создаваемых собственными средствами, потребует�

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

применения функций:

// Начать новую сессию

RmStartSession(&dwSessionHandle, sessKey);

// Зарегистрировать элементы, которые должны быть

// установлены, заменены, обработаны и т. п.

RmRegisterResources(dwSessionHandle,

nFiles, rgsFiles, // Файлы

nProcs, NULL, // Процессы

nServices, rgsServices // Сервисы

);

// Получить список приложений и сервисов, которые используют

// ранее зарегистрированные файлы

RmGetList(dwSessionHandle, &nProcInfoNeeded,

&nAffectedApps, rgAffectedApps, &bRebootNeeded);

// Завершить работу приложений и сервисов, которые используют

// нужные нам файлы

RmShutdown(dwSessionHandle, 0, NULL);

// Выполнение операций над устанавливаемыми файлами

// Перезапуск приложений, которые мы принудительно завершили

RmRestart(dwSessionHandle, NULL);

Page 164: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

168 Приложение 2

Выше мы рассмотрели основные функции, относящиеся к механизмам

Restart Manager. Помимо этого есть ряд дополнительных функций, кото�

рые приведены в табл. 3.

Табл. 3. Дополнительные функции, относящиеся к механизмам Restart Manager

Функция Описание

RmAddFilter Добавляет фильтр для компонентов, которые должны

быть завершены и перезапущены

RmRemoveFilter Удаляет ранее установленный фильтр

RmGetFilterList Возвращает список установленных фильтров

RmCancelCurrentTask Прерывает текущую операцию Restart Manager

RM_WRITE_STATUS_ Косвенно вызываемая функция для обновления

CALLBACK статуса выполняемой операции

ПримерыВ состав Windows Vista SDK включен пример использования механизмов

Windows Error Reporting, в котором показано, как зарегистрировать при�

ложения для его последующего восстановления, приложение для его пере�

запуска, а также как зарегистрировать файл и блок памяти. Данный при�

мер можно найти по адресу: c:\Program Files\Microsoft SDKs\Windows\

v6.0\Samples\winbase\WindowsErrorReporting\Registration\.

Второй пример, относящийся к теме данного обзора, иллюстрирует

использование механизмов Restart Manager. Он находится по адресу: c:\Prog�

ram Files\Microsoft SDKs\Windows\ v6.0\Samples\winbase\Restart Manager\.

В этом каталоге собрано пять демонстрационных приложений, которые

иллюстрируют минимальную поддержку механизмов Restart Manager для

консольных приложений (RmCuiApp), применение Restart Manager Filter

API (RMFilterApp), сериализацию данных и их восстановление после пе�

резагрузки в классическом Windows�приложении (RmGuiApp), аналогич�

ную функциональность для приложений, разрабатываемых на .Net Frame�

work с использованием Windows Forms (RmWinFormApp), и пример бло�

кировки при попытке принудительного завершения приложения (Shut�

downBlockReasonTestApp).

Дополнительные механизмыобеспечения надежностиВ данном обзоре мы рассмотрели два механизма обеспечения надежнос�

ти приложений, реализованных в операционной системе Microsoft Windows

Page 165: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 2 169

Vista, — Windows Feedback Platform и Restart Manager. К другим механиз�

мам, обеспечивающим надежность как самой платформы, так и выполня�

емых под ее управлением приложений, можно отнести следующие:

� отмена выполнения операций ввода�вывода (Cancellable I/O Opera�

tions) — обеспечивает возможность завершения запросов на операции

ввода�вывода, которые могут привести к повышенному использованию

недоступных в данный момент ресурсов. Примерами новых функций

являются CancelSynchronousIo() и CancelIoEx(). Отметим, что примене�

ние механизмов отмены операций ввода�вывода позволяет решить ряд

проблем с такими операциями без принудительного завершения пото�

ков и приложений;

� защита реестра — предотвращает возможность изменения ключевых

настроек системы;

� определение утечек памяти — автоматически определяет утечки памя�

ти и реагирует на это соответствующим образом;

� определение «зависаний» приложений — позволяет принудительно

завершить и перезапустить приложения, которые перестали реагиро�

вать на действия пользователей, сообщений Windows Messages и т. п.;

� инфраструктура Windows Diagnostic Infrastructure (WDI) — служит для

идентификации и выдачи сообщений об обнаруженных проблемах.

Встроенные в Windows Vista механизмы автоматической диагностики

позволяют идентифицировать ряд проблем, которые могут возникать в

процессе эксплуатации как самой операционной системы, так и прило�

жений. К таким механизмам относятся: защита от чрезмерного использо�

вания ресурсов (например, от потерь данных, зависаний, сбоев и т. п. при

большом количестве одновременно открытых приложений), защита от

аппаратных сбоев (диски, дефекты оперативной памяти), встроенная ди�

агностика функционирования проводных и беспроводных сетей, диагно�

стика производительности системы (замедление реакции системы и ви�

зуализации элементов интерфейса, замедление загрузки системы, аутен�

тификации и завершения работы), автоматическое восстановление повреж�

денных системных файлов, автоматическое восстановление системы при

проблемах с загрузкой.

ЗаключениеВстроенные в Microsoft Windows Vista механизмы обеспечения надежно�

сти работы как самой платформы, так и сервисов и прикладных программ

делают эту новую версию операционной системы более привлекательной

и продуктивной для пользователей, а ряд программных интерфейсов по�

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

Page 166: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 3. Ресурсы по MicrosoftWindows Server 2008

Основные ресурсы� Windows Server «Longhorn» — http://www.microsoft.com/windowsserver/

longhorn/default.mspx

� Windows Server «Longhorn» Tech Center — http://www.microsoft.com/technet/

windowsserver/longhorn/default.mspx

� TechNet Virtual Labs — http://www.microsoft.com/technet/traincert/virtuallab/

longhorn.mspx

� Windows Server «Longhorn» Webcasts & Chats — http://www.microsoft.com/

events/series/technetlonghorn.aspx

� Windows Server Code Name «Longhorn» — Learning Portal — http://www.

microsoft.com/learning/longhorn/default.mspx

� Windows Server Code Name «Longhorn» Demos — http://www.microsoft.com/

technet/windowsserver/longhorn/evaluate/demos.mspx

� Windows Vista and Windows Server «Longhorn»—Better Together — http://

www.microsoft.com/windowsserver/longhorn/better�together.mspx

� Developer Meet Server — http://blogs.msdn.com/jolson

Инфраструктура

Server Manager� http://www.microsoft.com/windowsserver/longhorn/servermanagement.mspx

Server Roles� Active Directory Certificate Services (AD CS) — http://technet2.microsoft.com/

windowsserver/longhorn/en/library/78606c99�22a4�46d7�a7ec�c3de6f69

0b931033.mspx

� Active Directory Domain Services (AD DS) — http://technet2.microsoft.com/

windowsserver/longhorn/en/library/437a1fd8�0365�4689�8a28�ed8051c74

a6b1033.mspx

� Active Directory Federation Services (AD FS) — http://technet2.microsoft.com/

windowsserver/longhorn/en/library/61f7f298�2cac�4cfb�977f�88fd4b781b

4e1033.mspx

� Active Directory Rights Management Server — http://technet2.microsoft.com/

w i n d o w s s e r v e r / l o n g h o r n / e n / l i b r a r y / 1 a b a f e a 4 � f 3 0 e � 4 3 5 a � 8 4 8 b �

6fbf31ef1da61033.mspx

Page 167: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 3 171

� Application Server — http://technet2.microsoft.com/windowsserver/longhorn/

en/library/3534a92e�8ca4�4095�996e�d880e68be41a1033.mspx

� DHCP Server — http://technet2.microsoft.com/windowsserver/longhorn/en/

library/2ddeadd3�1d1e�4c43�a449�98870a40445e1033.mspx

� DNS Server — http://technet2.microsoft.com/windowsserver/longhorn/en/

library/eda9c9da�57fd�405c�9ee5�c732b603c9ab1033.mspx

� File Services — http://technet2.microsoft.com/windowsserver/longhorn/en/

library/a67c6586�6962�46c1�9f54�c15e7270f9b81033.mspx

� Print Services — http://technet2.microsoft.com/windowsserver/longhorn/en/

library/c98657cd�0db0�49de�9e56�8c713a6070ab1033.mspx

� Terminal Services — http://technet2.microsoft.com/windowsserver/longhorn/

en/library/f17ae2b5�d75e�4e2e�98c4�fe912f2e7dcd1033.mspx

� Windows Deployment Services — http://technet2.microsoft.com/windows

server/longhorn/en/library/b279dfef�892e�4b12�bb6b�c250cf8c95f41033.

mspx

� Windows Media Server — http://technet2.microsoft.com/windowsserver/long

horn/en/library/bff20079�3bd5�4e84�bdda�98060718b6fd1033.mspx

Server Core� Server Core Installation — http://www.microsoft.com/windowsserver/longhorn/

servercore.mspx

� Функции, поддерживаемые в Server Core — http://msdn2.microsoft.com/

en�us/library/ms723894.aspx (Server Core Functions by DLL)

Boot Configuration Data� Boot Configuration Data (BCD) — http://msdn2.microsoft.com/en�us/library/

aa362692.aspx

� Boot Configuration Data in Windows Vista — http://www.microsoft.com/whdc/

system/platform/firmware/bcd.mspx

� Утилита Vista Boot Pro — http://www.vistabootpro.org/index.php

Manageable Applications� DSI — http://www.microsoft.com/dsi

� DFO & Application Health — http://www.codeplex.com/dfo

� System Center Configuration Manager 2007 — http://www.microsoft.com/

smserver/default.mspx

� Windows Installer 4.0 — http://msdn2.microsoft.com/en�us/library/aa372866.aspx

� Task Scheduler — http://technet.microsoft.com/en�us/windowsvista/aa906020.aspx

� Windows Eventing 6.0 — http://msdn2.microsoft.com/en�us/library/aa385780.aspx

Page 168: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

172 Приложение 3

� Windows PowerShell — http://www.microsoft.com/PowerShell

� Microsoft Management Console 3.0 — http://msdn.microsoft.com/library/

default.asp?url=/library/en�us/managedmmc/html/28aa1a22�e250�45da�

b162�8c0b11338caf.asp

Платформа для создания приложений

Application Server Role� Application Server — http://technet2.microsoft.com/windowsserver/longhorn/

en/library/3534a92e�8ca4�4095�996e�d880e68be41a1033.mspx

.NET Framework 3.0� Introducing the .NET Framework 3.0 — http://msdn2.microsoft.com/en�us/

library/aa479861.aspx

� .NET Framework Developer Center — http://msdn2.microsoft.com/en�us/

netframework/default.aspx

� Microsoft .NET Framework 3.0 Community — http://www.netfx3.com/default.aspx

� http://www.netfx3.com/content/WhatIsNetFx3.aspx

� Windows Communication Foundation — http://wcf.netfx3.com

� Web Services Specifications — http://msdn.microsoft.com/webservices/

webservices/understanding/default.aspx

� Windows Presentation Foundation — http://wpf.netfx3.com

� Windows Workflow Foundation — http://wf.netfx3.com

� Windows CardSpace — http://cardspace.netfx3.com

Internet Information Services 7.0� IIS 7.0 Site — http://www.iis.net

� IIS7 Overview — http://www.iis.net/default.aspx?tabid=2&subtabid=23&i

=1180 Install IIS7 on Longhorn Server — http://www.iis.net/default.aspx?

tabid=2&subtabid=25&i=956

� Install IIS7 on Vista — http://www.iis.net/default.aspx?tabid=2&subtabid=

25&i=958

� Install IIS7 at the command�line — http://www.iis.net/default.aspx?tabid=

2&subtabid=25&i=957

� Use Unattended Install with IIS7 — http://www.iis.net/default.aspx?tabid=

2&subtabid=25&i=959

� Virtual Labs — http://VirtualLabs.IIS.NET

Page 169: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 3 173

� Delegated Administration — http://www.iis.net/default.aspx?tabid=2&sub

tabid=25&i=965&p=1

� Granular Locking — http://www.iis.net/default.aspx?tabid=2&subtabid=25&i

=951

� .NET Collaborative Configuration — http://www.iis.net/default.aspx?tabid=

7&subtabid=72

� URLFiltering capabilities — http://www.iis.net/default.aspx?tabid=2&subtabid=

25&i=1040

� ASP.NET Integration with IIS7 — http://www.iis.net/default.aspx?tabid= 2&sub�

tabid=25&i=928

� Writing a Service Hosted by the Windows Process Activation Service — http://

www.iis.net/default.aspx?tabid=2&subtabid=25&i=922

� IIS7 Managed Module Starter Kit — http://www.iis.net/handlers/871/Item

PermaLink.ashx

� Developing a Managed Module using .NET Framework — http://www.iis.net/

default.aspx?tabid=2&subtabid=25&i=942

� IIS7 Module Starter Kit for C++ — http://www.iis.net/handlers/1062/Item

PermaLink.ashx

� Developing a Native (C++) Module for IIS7 Walkthrough — http://www.iis.net/

default.aspx?tabid=2&subtabid=25&i=938

Windows Server Virtualization� Microsoft Virtualization Home — http://www.microsoft.com/windowsserver

system/virtualization/default.mspx

� Windows Server Virtualization — An Overview — http://www.microsoft.com/

windowsserversystem/virtualserver/techinfo/virtualization.mspx

� http://technet2.microsoft.com/windowsserver2008/en/servermanager/virtua

lization.mspx

Базовые технологии

Restart Manager� Windows SDK — http://windowssdk.msdn.microsoft.com/en�us/library/ms

716380.aspx

� Using Restart Manager — http://windowssdk.msdn.microsoft.com/en�us/library/

ms716776.aspx

� Guidelines for Application and Services — http://windowssdk.msdn.microsoft.

com/en�us/library/ms716375.aspx

Page 170: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

174 Приложение 3

Windows Error Reporting� Windows SDK — http://windowssdk.msdn.microsoft.com/en�gb/library/ms

681662.aspx

� WerReportCreate — http://windowssdk.msdn.microsoft.com/en�gb/library/

ms681640.aspx

� WerReportSubmit — http://windowssdk.msdn.microsoft.com/en�gb/library/

ms681644.aspx

Transactional NTFS� Transactions Programming Forum — http://forums.microsoft.com/MSDN/

ShowForum.aspx?ForumID=388&SiteID=1

� Transaction Management in Windows — http://www.microsoft.com/windows

server2003/appserver/transmgmt.mspx

� TxF Documentation — http://msdn.microsoft.com/library/default.asp?url=/

library/en�us/fileio/fs/portal.asp

� Jim Johnson Blog — http://www.pluralsight.com/blogs/jimjohn/

� Florin Lazar Blog — http://blogs.msdn.com/florinlazar/

� Jason Olson Blog — http://www.managed�world.com/

� Transactional Vista: KTM and Friends — Channel 9 Video — http://channel9.

msdn.com/ShowPost.aspx?PostID=287192

� Vista: Transactional File System — Channel 9 Video — http://channel9.

msdn.com/Showpost.aspx?postid=142120

� The Revolutionary Vista TxF Infrastructure — MSDN Webcast — http://

msevents .microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032294094

&EventCategory=5&culture=en�US&CountryCode=US

� Developing Applications For Windows Vista With Transactional NTFS — MSDN

Webcast — http://msevents.microsoft.com/CUI/WebCastEventDetails. aspx?

EventID=1032313125&EventCategory=4&culture=enUS&Country Code =US

� Developer, Meet Server — Transactional NTFS — Channel 9 Screencast —

http://channel9.msdn.com/ShowPost.aspx?PostID=289816

� Developer, Meet Server — Transactional NTFS + WCF — Channel 9 Screencast —

http://channel9.msdn.com/ShowPost.aspx?PostID=296861

Next Generation TCP/IP StackРаздел «The Cable Guy» на сайте Microsoft Technet (www.microsoft.com/technet):

� Next Generation TCP/IP Stack in Windows Vista and Windows Server «Long�

horn» (/community/columns/cableguy/cg0905.mspx)

� Changes to IPv6 in Windows Vista and Windows Server «Longhorn»,

(/community/columns/cableguy/cg1005.mspx)

Page 171: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Приложение 3 175

� Performance Enhancements in the Next Generation TCP/IP Stack,

(/community/columns/cableguy/cg1105.mspx)

� раздел «Next Generation TCP/IP and Networking Components» в документе

«Changes in Functionality in Windows Server Code Name “Longhorn’’»

� «Windows Filtering Platform Architecture Overview» (http://msdn2.microsoft.

com/en�us/library/aa366509.aspx)

Remote Differential Compression� Windows SDK — http://windowssdk.msdn.microsoft.com/en�us/library/ms

715305.aspx

� Using Remote Differential Compression — http://windowssdk.msdn.microsoft.

com/en�us/library/aa373420.aspx

� RDC Whitepaper — http://research.microsoft.com/research/pubs/view.aspx?

type=Technical%20Report&id=1203

Пул потоков� Process Management in Windows Vista — http://channel9.msdn.com/Show

post.aspx?postid=233976

� Thread Pools — http://msdn2.microsoft.com/en�us/library/ms686760.aspx

� Thread Pool API — http://msdn2.microsoft.com/en�us/library/ms686766.aspx

� Using the Thread Pool Functions — http://msdn2.microsoft.com/en�us/library/

ms686980.aspx

� Документ «Kernel Enhancements for Windows Vista and Windows Server

Longhorn» — http://www.microsoft.com/whdc/system/vista/kernel�en.mspx

Сертификация под Windows Server� Innovate On Windows Server — http://www.innovateonwindowsserver.com

� «Certified for Windows Server» Logo Technical Requirements — https://

partner.microsoft.com/US/40028435?PS=95000124

� Application Compatibility — http://devreadiness.org

Windows Server Codename «Longhorn» Cookbook — http://devreadiness.org/

blogs/app_compat_generic/attachment/204.ashx

Page 172: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Алексей Федоров осваивал азы компьютерной грамотности на СМ�4 (клон

PDP�11, созданный странами соцлагеря) и ЕС�1840/41 (советский клон IBM

PC). В зрелые годы занимался русификацией принтеров Epson FX�80, ло�

кализацией операционной системы DR�DOS (компании Digital Research)

и средствами разработки Borland C++, читал лекции, писал статьи для рос�

сийских и международных компьютерных изданий (более 400 статей),

книги по различным вопросам программирования (на русском и англий�

ском языках). Работал руководителем Управления разработки программ�

ного обеспечения, техническим директором швейцарской веб�компании.

В Microsoft — 5 лет, в настоящее время возглавляет отдел по работе с

партнерами в Департаменте стратегических технологий. В 2007 г. был на�

гражден как победитель конкурса «Лучший по профессии».

Об авторе

Page 173: Windows Server 2008 - download.microsoft.com · Гибкость работы мобильных сотрудников обеспечивается возможнос тью запуска

Алексей Федоров

Microsoft® Windows Server® 2008.Краткий обзор ключевых новинок

© Федоров А. Г., 2008

© «Русская Редакция», 2008

Подготовлено к печати издательством «Русская Редакция»

123290, Москва, Шелепихинская наб., д. 32

тел.: (495) 256%6691, тел./факс: (495) 256%7145

e%mail: [email protected], http://www.rusedit.com

Алексей Федоров — сотрудник отдела стратегических технологий

ООО «Майкрософт Рус» ([email protected])