itmo_conspects

Администрирование в ОС Windows

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

Лекция 1. История Windows и общая характеристика

Ситуация на рынке

Сейчас лидирующее положение среди операционных систем на персональных компьютерах занимает Microsoft Windows

В серверах же преобладает ОС Linux, доля Windows составляет около 20%. При этом ОС Windows не популярна как платформа для веб-серверов (примерно 8% сайтов используют Windows) и суперкомпьютеров

Несмотря на это, около половину заработка компании Microsoft составляет облачные услуги и офисные продукты. Облачная платформа Microsoft Azure принесла более 100 млрд долларов за 2026 финансовый год, что составляет около 30% от прибыли компании. Сейчас Microsoft Azure на рынке облачных услуг уступает только Amazon Web Services

Ключевой технологией является Windows Server, которая используется:

Помимо Azure и Windows Server экосистема Microsoft включает:

История Windows

Историю Microsoft можно разделить на 3 эпохи:

Предпосылками создания компании были желанием IBM выйти на рынок персональных компьютеров и Билла Гейтса заработать на ПО. IBM нуждалась в простенькой операционной системе, которая использовалась бы на аппаратном обеспечении IBM. До этого Microsoft разработали интерпретаторы языков BASIC, FORTRAN, COBOL и форк ОС Unix - Xenix

Первой версией стала MS-DOS (от MicroSoft Disk Operating System), выпущенная в 1981 году и основанная на выкупленной 86-DOS у Seattle Computer Products. MS-DOS имела только интерфейс консольной строки:

MS-DOS

В 1985 году вышла Windows 1.0, которая представляла графическую оболочку и набор приложений для MS-DOS. В 1987 году Windows 2.0, а в 1993 году вышла Windows 3.11 for Workgroups, в которой появился интегрированный сетевой стек

Windows 3.11

Параллельно с развитием MS-DOS компании IBM и Microsoft совместно разрабатывали операционную систему OS/2. В 1991 году Microsoft прекращает участие, а наработки использует для создания ядра Windows NT (от New Technology). Новое ядро получило поддержку многопоточности, работы со множеством пользователей, 32-битной адресации, собственной файловой системы NTFS (New Technology File System) и стало архитектурнонезависимым

В 1993 году выходит Windows NT 3.1 для серверов и рабочих станций. В 1994 году появляется Windows NT 3.5, которая получила сертификат безопасности C2, определенный Критериями определения безопасности компьютерных систем (так называемая “Оранжевая книга”)

Параллельно с этим выходят Windows 95 и Windows 98, развивающую основную ветвь Windows. В Windows 95 графическая подсистема полностью встраивается в ядро ОС, а MS-DOS при этом продолжала использоваться для загрузки и обеспечения совместимости со старым ПО

Windows 95

Далее:

История версий Windows

Сейчас операционные системы Windows для ПК и Windows Server используют одно ядро, однако серверные ОС отличаются набором компонентов. На 2026 году поддерживаются Windows Server 2016 (до января 2027), Windows Server 2019 (до января 2029), Windows Server 2022 (до октября 2031) и Windows Server 2025 (до ноября 2034)

Издания Windows Server

Как и обычная версия Windows, которая издается в изданиях “Домашняя” (Home), “Профессиональная” (Pro) и “Корпоративная” (Enterprise), отличающиеся функционалом, Windows Server издается в нескольких редакциях:

Устаревшие редакции включают:

Отдельно существует сервис Windows 365 Cloud PC - облачная настольная среда в Azure, доступная по сети

Также Windows Server имеет несколько вариантов установки:

Отдельно существовал Minimal Server Interface в старых версиях Windows Server, начиная с Windows Server 2012, но в современных версиях отдельным вариантом установки не является

Характеристика ОС

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

Операционная система решает такие задачи:

Windows является гибридной операционной системой нереального времени (которая делает приоритетом максимальную пропускную способность вместо гарантированного времени отклика) с вытесняющей многозадачностью

В отличии от Linux система Windows:

Лекция 2. Архитектура, управление и конфигурация Windows

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

Архитектура Windows

Изначально, проект Multics, прародитель Unix, ставил цель сделать ОС для многих пользователей, поэтому в Multics было 8 колец защиты (или привилегий). Кольцо 0 было наиболее привилегированным и использовалось для ядра или супервизора системы, а остальные 7 колец использовались для других подсистем, служб супервизора и пользовательских приложений. Чем больше номер кольца, тем менее возможностей взаимодействия с устройствами ПК имел процесс

Операционная система Windows же разрабатывалась для IBM-PC-совместимых компьютеров, то есть компьютеров с процессором архитектуры x86. Компания Intel, разработавшая архитектуру x86 и процессор Intel 80286, аппаратно реализовала 4 кольца привилегий в процессоре:

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

На практике ранние версии Windows (3.x, 95, 98 и Millennium Edition) использовали 2 кольца - 0 и 3. Затем при создании Windows NT учитывалось, что операционная система будет работать на процессорах не только архитектуры x86, но MIPS, Alpha и PowerPC, которые имеют только 2 кольца привилегий: привилегированный и пользовательский режимы. Поэтому кольца 1 и 2 в системе Windows (как и в других системах, таких как Linux и macOS) не используются


Современное ядро Windows NT имеет гибридную архитектуру, хотя изначально OS/2 планировалась как система с микроядерной архитектурой. Из-за этого некоторые существенные компоненты работают в пользовательском режиме

Архитектура Windows

В пользовательском режиме работают:

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

В режим ядра работают:

Отдельно уровнем ниже существует гипервизор, который состоит из нескольких внутренних уровней и служб: собственный диспетчер памяти, планировщик виртуальных процессов, управление прерываниями и таймером, функции синхронизации, разделы (экземпляры виртуальных машин), внутрипроцессные коммуникации (IPC, Inter-Process Communication) и другое


Сейчас Windows 11 работает на процессорах с архитектурой x86-64 и ARM64. Версии с Windows 95 по Windows 10 поддерживают 32-битные процессоры архитектуры x86. Отдельная версия Windows RT (основанная на Windows 8 и 8.1) поддерживает процессоры архитектуры ARM32 (в том числе отдельные системы на чипе из семейства Nvidia Tegra). Ранние версии Windows работали на процессорах с архитектурой Itanium, DEC Alpha, PowerPC, MIPS

Сама система Windows написана на языках C, C++ и на языке ассемблера. Независимость от архитектуры в Windows обеспечивается изменение машинно-зависимых модулей и ядра

Ядро Windows поддерживает симметричную мультипроцессорность, то есть потоки процесса исполняются на любых ядрах с общей памятью, а также многоядерные, гиперпотоковые (Hyper-Threading) процессоры и технологию доступа к неоднородной памяти NUMA (Non-Uniform Memory Architecture) для систем с несколькими процессорами (память в NUMA разделяется NUMA-группы, которые распределяются отдельным процессорам)

Также Windows имеет ограничения до 64 физических процессоров (при этом неограниченное число логических ядер) и до 20 сокетов NUMA

Управление

Операционная система Windows Server может управляться с помощью таких инструментов:

Файловая структура

Windows имеет стандартную структуру каталогов:

Каталоги Windows, Recovery и файл Hiberfil.sys обязаны находится на системного разделе диска, а Program Files, ProgramData и Users могут находится вне, но через костыли

Конфигурация

Конфигурация Windows хранится в конфигурационных файлах разных форматов (.ini, .xml, .json, .conf) и в реестре

Реестр Windows - это набор бинарных файлов для хранения конфигурации в виде дерева

Преимущества:

Недостатки:

Реестр хранит значения этих типов:

Реестр также поддерживает ACL (Access Control List) - список управления доступом, который определяет, какие пользователи или группы имеют права на чтение, запись, изменение или удаление конкретных разделов и параметров в реестре

Значения в реестре разбиты на несколько основных веток:

Сам реестр хранится во множестве файлов. Расположение основных веток:

Также каталог %SystemRoot%\System32\config\RegBak применяется для бекапа реестра

Для изменения реестра существуют:

Установка компонентов

Управление компонентами осуществляется через:

Системный службы

Службы могут быть:

Для служб в реестре есть поля:

Служба в реестре

Лекция 3. PowerShell

Изначально Windows управлялась приложением командной строки cmd.exe, в которой были внутренние команды, а внешние в свою очередь были реализованы в отдельных исполняемых файлах. cmd.exe был создан для Windows NT как аналог оболочки COMMAND.COM, использовавшейся в MS-DOS и ранних версиях Windows, поэтому в cmd.exe перешли из MS-DOS такие команды, как cls, chdir, dir, del, copy и другие

Затем появились скриптовые языки (такие как VBScript - диалект Visual Basic, JScript - диалект JavaScript), с помощью которых можно было управлять объектами операционной системы через компонент Windows Script Host (WSH)

Также существовал Windows Management Instrumentation (WMI) - объектный интерфейс, который позволял получать информацию о системе, менять параметры системы. Через WMI взаимодействовали утилиты wmimgmt.msc, winmgmt.exe, wbemtest.exe, wmic.exe (удален в Windows 11 24H2) и mofcomp.exe или платформу .NET


PowerShell появился как заместитель cmd.exe и WSH:

Так, например, выглядит скрипт для cmd.exe, который читает CSV-файл и находит те вторые поля, в котором встречается bee:

@echo off
setlocal enabledelayedexpansion

rem Путь к CSV-файлу
set "file=data.csv"

for /f "tokens=2 delims=," %%a in (%file%) do (
    set "field=%%a"
    echo !field! | findstr /i "bee" >nul
    if !errorlevel! equ 0 (
        echo %%a
    )
)

В 2006 появилась оболочка PowerShell, которая была разработана на платформе .NET. Тот же скрипт в PowerShell выглядит так:

# Путь к CSV-файлу
$file = "data.csv"

Import-Csv -Header Column1,Column2,Column3 -Delimiter ',' $file | Where-Object {
    $_.Column2 -match "bee"
} | ForEach-Object {
    $_.Column2
}

Помимо командной оболочки, которая разработана для администрирования и конфигурирования операционных систем Windows, также PowerShell представляет собой:

Первая версия PowerShell 1.0 вышла в 2006 году для Windows XP Service Pack 2, Server 2003 Service Pack 1, Vista и Server 2008

Вторая версия PowerShell 2.0 вышла в 2009 для Windows 7, PowerShell 3.0 - в 2012 для Windows 8

Четвертая версия PowerShell 4.0 для Windows 8.1 вышла в 2013, в которой добавилась поддержка Where и ForEach для фильтрации и итерации объектов, улучшенного дебаггинга, диагностика сети, а также инструменты платформы управления DSC (Desired State Configuration)

В 2017 году вышла версия PowerShell 5.1, которая выходила в двух редакциях:

Из-за того, что функциональные возможности .NET Framework и .NET Core с точки зрения взаимодействия с система разные, то эти издания имеют разные командлеты

Версия PowerShell 6.0, вышедшая в 2018 на основе .NET Core, стала первой кроссплатформенной.Последняя версия на 2026 год - это PowerShell 7.6, вышедшая в марте 2026 и основанная на .NET 10


PowerShell можно получить через:

Также PowerShell имеет собственный редактор скриптов PowerShell ISE (от Integrated Scripting Environment - интегрированная среда создания скриптов). Начиная с PowerShell 7, редактор PowerShell ISE устарел, его заменил Visual Studio Code с расширением PowerShell

Основными расширениями PowerShell являются:

PowerShell строится на командлетах (cmdlet) - командах, с помощью которых можно осуществлять взаимодействие с объектами операционной системы

Чаще всего название командлета строится по шаблону Глагол-Существительное, где Глагол может быть Add, Clear, Enable и так далее

Например:

Командлеты:

Имена командлетов не чувствительны к регистру (можно написать и get-process, и Get-Process, и GeT-pRoCeSs), а после командлетов не обязательно ставить ;, за исключением, когда выполняется несколько командлетов в одну строку (например, Get-Process; Get-Service)


Windows имеет механизм безопасности выполнения скриптов, которых выражается в 6 политиках выполнения:

Политики выполнения определены для 5 областей видимости:

Политику можно устанавливать через Set-ExecutionPolicy, а узнать через Get-ExecutionPolicy

На компьютерах без Windows доступна только единственная политика - Unrestricted


PowerShell также позволяет удаленно выполнять скрипты через службу WinRM по протоколу HTTP/HTTPS (порт 5985 для HTTP, 5986 для HTTPS). Удаленное выполнение на целевом компьютере включается через Enable-PSRemoting

Чтобы войти в удаленную сессию, используется команда Enter-PSSession:

Enter-PSSession -ComputerName SRV-01

Здесь SRV-01 - имя хоста (также можно указать IP-адрес). После прохождения аутентификации, можно ввести нужный командлет. Однако:

Также можно запустить скрипт на нескольких узлах с помощью командлета Invoke-Command:

Invoke-Command -ComputerName SRV-01, SRV-02 -ScriptBlock { ... }

Через аргумент -ScriptBlock можно передать набор команд, а через -FilePath - путь к скрипту на компьютере, где выполняется Invoke-Command. При выполнении скрипта по -FilePath нужно быть внимательным, так как область выполнения - удалённые машины, поэтому переменные среды могут быть разными

Настройки сессии можно сохранять с помощью командлета New-PSSession:

$sessions = New-PSSession -ComputerName s1, s2, c1 -Port 5555 -Credential DOMAIN\Admin

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


Комментарии в PowerShell бывают:

# строчные
<#
 и блочные
#>

Переменные создаются через $имя_переменной = значение. Значение переменной можно получить через $имя_переменной или Get-Variable имя_переменной. Все переменные в текущей сессии хранятся в словаре Variable

В конвейере текущий элемент обозначается через $_

Переменные в PowerShell имеют свой тип - его можно указать (например, [int]$MyIntVar = 5, где типом может быть [int] - целое 32-битное число, [single] - 32-битное число с плавающей точкой, [Boolean] - булевое значение и так далее) или не указывать (тогда переменная может изменить тип при смене значения)

Для присвоения глобальных значений используется синтаксис $Global:переменная = значение

Списки обозначаются как [int[]]$Array = 1, 3, 5, 7, 9, индексируются как $Array[2]

Хеш-таблицы строятся как $ht = @{w1 = "I"; w2 = "LOVE"; w3 = "POWERSHELL"}, доступ через $ht.w1, добавление через $ht.Add("w4", "REALLY") или $ht.w4 = "REALLY"

Условные конструкции в PowerShell есть такие:

Для сравнения используются операторы:

Циклы в PowerShell представлены 5 типами:

Для обработки ошибок используется конструкция TRY ... CATCH:

TRY {
    [int]$Number = Read-Host "Введите число"
    10 / $Number
} CATCH {
    Write-Warning "Некорректное число"
}

Для работы с вводом-выводом существуют командлеты:

Функции в PowerShell создаются так:

function Get-DayLog ($param1, $param2) {
    Get-EventLog -LogName Application -Newest $param1 ...
}

Вызывается как обычный командлет:

Get-DayLog -param1 50 -param2 -14

Также возможны указание параметров по умолчанию (function Get-DayLog ($param1, $param2=50) { ... }) и возврат значений (return $InternalVariable)

Модули устанавливаются через Install-Module и Install-Script, а импортируется через Import-Module

Для доступа к WMI есть командлеты:

Лекция 4. Active Directory

Одной из частых задач, которую выполняет Windows Server, - это централизованное управление пользователями и доступом в инфраструктуре рабочих станций (чаще всего в офисах). Одним из инструментов для этого является служба каталогов Active Directory, которая обеспечивает информационную безопасность

Введение в информационную безопасность

Информационная безопасность - это процесс обеспечения конфиденциальности, целостности и доступности информации, где:

Для обеспечения доступа существуют 3 процесса:

Всего есть два классических механизма для обеспечения безопасности:


Можно выделить 3 архитектуры безопасности:

  1. Одноранговые (или автономные) - каждый узел имеет собственную локальную службу безопасности и локальную базу субъектов. В такой архитектуре у пользователя есть учетные записи на каждом компьютере
  2. Централизованные - на каждом узле есть локальная служба безопасности, но она выступает клиентом централизованной службы. В такой архитектуре есть служба каталогов на централизованном узле, к которому обращаются другие компьютеры в сети для аутентификации и авторизации
  3. Распределенные - каждый узел имеет локальную службу безопасности, которая является клиентом распределенной службы - то есть системы, где нет одного абсолютного центра доверия, а есть несколько доверенных участников

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

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

Примерами служб каталогов являются:

Служба каталогов Active Directory

По умолчанию в каждой операционной системе Windows (в том числе потребительской версии) для локальной аутентификации используется подсистема локальной безопасности (Local Security Authority, LSA) и диспетчер учетных записей безопасности (Security Account Manager, SAM)

Active Directory (AD) - это служба каталогов, появившаяся в Windows 2000 Server, которая обеспечивает централизованное управление учетными записями пользователей, компьютерами, правами доступа и политиками безопасности. В Windows Server 2008 служба Active Directory была переименована в Active Directory Domain Services (Службы домена Active Directory, AD DS) для различения от других продуктов семейства: Certificate Services (AD CS), Federation Services (AD FS), Lightweight Directory Services (AD LDS) и Rights Management Services (AD RMS)

Active Directory позволяет решить такие проблемы как множественная аутентификация, управление учетными записями, масштабирование систем аутентификации и авторизации

Особенности Active Directory:

Active Directory хранит сведения идентификации пользователей, приложений и ресурсов в базе данных ntds.dit, которая основана на технологии Extensible Storage Engine (ESE, также известна как JET Blue - от Joint Engine Technology) и способна работать с несколькими хозяевами (multi-master). Все данные в этой базе данных могут изменяться на любом узле, кроме тех узлов, что установлены в режим для чтения

Для доступа к данным можно использовать открытые протоколы (LDAP) или стандартизованные интерфейсы ADSI (Active Directory Service Interfaces) с множеством интерфейсов COM (Component Object Model). Также Active Directory позволяет создавать и расширять собственные объекты и атрибуты

Для поиска объектов можно использовать стандартизированные запросы или стандартные интерфейсы доступа к объектам

Также ntds.dit может храниться в виде реплик на разных контроллерах домена (компьютеры, которые управляют AD DS), а данные могут изменяться на любом из них и реплицироваться на другие контроллеры. Репликация каталога SYSVOL с данными AD DS разделяется на два направления:

В репликации участвует служба DFS-R (Distributed File System Replication) через протокол RPC (Remote Procedure Call). Ранее репликация производилась через службу FRS (File Replication Service), и была поддержка репликации через почтовый протокол SMTP (Simple Mail Transfer Protocol)

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

Active Directory также обладает гибким механизмом назначения прав на основе списка управления доступом (ACL) и позволяет применять различные виды аутентификации, такие как парольные методы, сертификаты, аппаратные ключи и так далее. Для аутентификации применяются протоколы Kerberos 5 и NTLM (New Technology LAN Manager, протокол ныне устарел)

Также Active Directory поддерживает технологию единого входа SSO (Single Sign-On) - сторонние приложения и сервисы (в том числе за пределами экосистемы Windows) могут аутентифицироваться в AD DS, что обеспечивает простоту управления учетными данными и единые механизмы интеграции

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

Логические компоненты Active Directory

Основным компонентом в Active Directory является домен (Domain). Домены объединяются в деревья доменов (Domain Tree), а деревья - в леса. Внутри домена существуют организационные подразделения (OU, Organizational Unit), а они в свою очередь хранят объекты (так называемые листья) - пользователи, группы, компьютеры, принтеры, каталоги и прочее

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

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

Дерево доменов (Domain Tree) является коллекцией доменов (одного или нескольких), которая отражает организационную структуру

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

Иерархия доменов в AD

Лесом называют полностью самостоятельную организацию Active Directory, которая имеет определенный набор атрибутов и является периметром безопасности организации. В состав леса могут входить как одно, так и несколько доменных деревьев. Все объекты, создаваемые внутри леса, имеют общий набор атрибутов, который определяется схемой Active Directory

Для именования объектов используется несколько способов:

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

Также доверительные отношения можно установить между доменом и сторонним сервисом, поддерживающим Kerberos (Доверие области, Realm Trust)

Физические компоненты Active Directory

Компьютер, который работает под управлением Windows Server и выполняет роль Службы домена Active Directory (AD DS), называют контроллером домена

Контроллер домена может быть и физическим, и виртуальным (то есть с установленной AD DS на виртуальную машину). Количество контроллеров внутри одного пространства имен практически не ограничено

Уровень функциональности контроллера домена определяет набор правил поведения службы каталогов на уровне схемы, протоколов, встроенных атрибутов и другое. Такой уровень определяется версией Windows Server, но для обратной совместимости современные версии поддерживают уровни из старых версий Windows (например, AD DS в Windows Server 2012 R2 может работать на уровне функциональности Windows Server 2008), что позволяет сделать миграцию на новые версии ОС плавнее. Выделяют уровень функциональности для домена и для леса

Контроллеры равнозначны, но могут выполнять уникальные роли FSMO (Flexible Single-Master Operation), которые гарантируют синхронизацию данных. Всего таких ролей 5:

Также существует особый контроллер домена - “центральный справочник” (или сервер глобального каталога), который нужен для поиска объектов без рекурсивного обхода дерева и поиска по основным атрибутам

В файловой системе Windows служба каталогов Active Directory использует:

Ранее использовались файлы res1.log и res2.log, которые являлись резервными файлами журнала и использовались в случае переполнения системного раздела (сейчас эту роль выполняется монитор ресурсов)

X. Программа экзамена 2026/2027

  1. История развития семейства Windows Server, развитие семейства. Область применения ОС.
  2. Архитектура ОС Windows
  3. Основные компоненты и службы Windows Server
  4. Файловые системы NTFS, устройство, ACL
  5. Архитектура безопасности Windows Server, управление пользователями и группами.
  6. Управление сервисами Windows Server
  7. Управление компонентами Windows
  8. Реестр Windows, разделы, расположение, инструментальные средства
  9. Инфраструктура хранения. DAS, NAS, SAN
  10. Windows как платформа хранения (Storage Spaces, SAN iSCSI, NAS SMB).
  11. SDS в Windows
  12. Службы каталогов на примере Active Directory, особенности.
  13. AD DS логические компоненты
  14. AD DS физические компоненты
  15. AD DS групповые политики
  16. PowerShell, основные концепции
  17. HyperV, общая характеристика и компоненты платформы
  18. Инфраструктура терминальных серверов Windows