Справочник сисадмина

Windows Server

Windows Server — стандарт корпоративной среды: домены, файловые серверы, терминальные станции. Он управляет не одним ПК, а сотнями машин централизованно. Здесь — расширенный разбор редакций, Active Directory, GPO, файловых служб, RDS, Hyper-V, IIS, PowerShell, PKI, обновлений, бэкапов и харденинга на примере Windows Server 2025 (актуально и для 2022/2019).

Редакции Windows Server

Актуальные версии: 2025 (новейшая, hotpatching через Azure Arc, улучшенный SMB), 2022, 2019. Основные редакции:

РедакцияДля чегоВиртуализация
EssentialsМалый бизнес (<25 пользователей, <50 устройств)Без прав на ВМ
StandardОбычный сервер/гипервизор2 OSE (ВМ) + 1 хост
DatacenterБольшой парк, плотная виртуализацияНеограниченно OSE (ВМ)
Datacenter: Azure EditionТолько в Azure, hotpatchingНеограниченно
Начиная с Server 2022/2025 модель установки Server with Desktop Experience (полный GUI) vs Server Core (только консоль/PowerShell/Remote) — Nano Server удалён как отдельная ОС (теперь это только контейнерный образ). Server Core занимает меньше места, требует меньше патчей и меньше атакуемых поверхностей.

Лицензирование по ядрам

С 2016 года Windows Server лицензируется по физическим ядрам:

Пример: сервер с 2×CPU по 16 ядер = 32 ядра. Минимум покрыт. Нужно 4 ВМ на Standard — покупаешь 2 набора по 16-ядер (покрывают 32 ядра дважды).

Установка и роли/компоненты

Что важно при установке

Добавление ролей — Server Manager и PowerShell

Функционал добавляется через роли и компоненты (Server Manager → «Добавить роли и компоненты» / Remove Roles and Features), а не переустановкой.

# Установка роли через PowerShell (от админа)
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-WindowsFeature DNS -IncludeManagementTools
Install-WindowsFeature DHCP -IncludeManagementTools
Install-WindowsFeature FS-DFS-Namespace, FS-DFS-Replication, FS-Resource-Manager
Install-WindowsFeature Web-Server -IncludeManagementTools
Install-WindowsFeature Hyper-V -IncludeManagementTools -Restart
# Список установленного:
Get-WindowsFeature | Where-Object Installed
# Удалить:
Remove-WindowsFeature Web-Server

Управление Server Core удалённо

AD — каталог (на базе LDAP + Kerberos), где хранятся пользователи, компьютеры, группы, политики. Один сервер с AD называется Domain Controller (DC).

Лес, дерево, домен

ОбъектЧто это
Лес (Forest)Высший уровень. Общая схема (schema) и конфигурация. Граница безопасности и доверия.
Дерево (Tree)Один или несколько доменов с непрерывным namespace (corp.local, eu.corp.local).
Домен (Domain)Граница репликации и администрирования; единица GPO на верхнем уровне.

OU, сайты, репликация, RODC

FSMO-роли (операции с одним хозяином)

Чтобы избежать конфликтов репликации, 5 чувствительных операций закреплены за конкретными DC:

РольУровеньЗачем
Schema MasterЛесИзменения схемы каталога
Domain Naming MasterЛесДобавление/удаление доменов и лесов
RID MasterДоменВыдача пулов RID для SID объектов
PDC EmulatorДоменСинхронизация времени, смена паролей, совместимость с NT
Infrastructure MasterДоменСсылки на объекты из других доменов (не на GC-DC!)
# Посмотреть владельцев FSMO:
netdom query fsmo
# Или PowerShell:
Get-ADForest | Select-Object SchemaMaster, DomainNamingMaster
Get-ADDomain | Select-Object RIDMaster, PDCEmulator, InfrastructureMaster
# Передача роли (грациозно):
Move-ADDirectoryServerOperationMasterRole -Identity dc-02 -OperationMasterRole SchemaMaster,DomainNamingMaster,RIDMaster,PDCEmulator,InfrastructureMaster
# Принудительно (если старый DC умер): -Force

Trusts (доверия)

Доверительные отношения между доменами/лесами: one-way/two-way, transitive/non-transitive, forest trust (только между лесами, с Windows 2003+), external trust (с чужим доменом/лесом). Леса не доверяют друг другу по умолчанию.

Установка контроллера домена

# 1. Установить роль
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

# 2. Поднять новый лес (первый DC)
$secure = ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force
Install-ADDSForest `
  -DomainName "corp.local" `
  -DomainNetbiosName "CORP" `
  -SafeModeAdministratorPassword $secure `
  -InstallDns:$true `
  -Force:$true
# После перезагрузки сервер — DC и DNS-сервер леса.

# 3. Добавить ВТОРОЙ DC (на другом сервере):
Install-ADDSDomainController `
  -DomainName "corp.local" `
  -SafeModeAdministratorPassword $secure `
  -InstallDns:$true -Force

# 4. Проверка здоровья:
dcdiag /v                  # комплексная проверка DC
repadmin /replsummary      # сводка репликации
repadmin /showrepl         # детали репликации
Get-ADReplicationFailure -Target *
Для отказоустойчивости делай минимум два DC (в идеале в разных стойках/сайтах). Не держи на DC ничего другого (ни файл-сервера, ни почты, ни RDS). Оба DC должны быть GC в малом лесу.

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

GPO — раздача настроек сотням ПК одной командой: запрет USB, фон рабочего стола, принтеры, пароли, маппинг дисков.

Компьютер / пользователь и порядок применения (LSDOU)

# Управление через консоль:
gpmc.msc                       # Group Policy Management
# Или PowerShell:
New-GPO -Name "Disable USB" | New-GPLink -Target "ou=Workstations,dc=corp,dc=local"
Set-GPRegistryValue -Name "Disable USB" -Key "HKCU\Software\Policies\Microsoft\Windows\RemovableStorageDevices" -ValueName "Deny_All" -Value 1 -Type DWord

DNS и DHCP на Windows

DNS

Get-DnsServerZone
Add-DnsServerPrimaryZone -Name "corp.local" -ReplicationScope "Domain"
Add-DnsServerResourceRecordA -Name "srv-01" -ZoneName "corp.local" -IPv4Address "192.0.2.10"
Add-DnsServerPrimaryZone -NetworkId "192.0.2.0/24" -ReplicationScope "Domain"

DHCP

Add-DhcpServerv4Scope -Name "LAN" -StartRange 192.0.2.50 -EndRange 192.0.2.200 -SubnetMask 255.255.255.0
Set-DhcpServerv4OptionValue -ScopeId 192.0.2.0 -Router 192.0.2.1 -DnsServer 192.0.2.10
Add-DhcpServerv4Reservation -ScopeId 192.0.2.0 -IPAddress 192.0.2.51 -ClientId "00-11-22-33-44-55" -Name "printer-1"
Add-DhcpServerv4Failover -Name "FO" -PartnerServer dhcp-02 -ScopeId 192.0.2.0 -LoadBalancePercent 50

Файловые службы

Remote Desktop Services (RDS)

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

РольНазначение
RD Connection BrokerБалансирует сессии, переподключает пользователей, хранит состояние коллекций
RD Session HostСобственно сервер сессий/приложений (где «крутятся» пользователи)
RD Web AccessВеб-портал для запуска RemoteApp/рабочих столов
RD GatewayПрокси RDP через HTTPS (443) — безопасный доступ извне без проброса 3389
RD LicensingСервер лицензий (нужны CAL-ы, иначе через 120 дней отключит)
RDS требует RDS CAL на пользователя или устройство — это отдельная лицензия поверх Windows Server CAL. Без активированного RD Licensing сервер проработает 120 дней в grace-периоде.

Hyper-V — виртуализация

Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart

Создание ВМ и управление

New-VM -Name "vm-web-01" -MemoryStartupBytes 4GB -BootDevice VHD -NewVHDPath "D:\vms\vm-web-01.vhdx" -NewVHDSizeBytes 60GB -Generation 2 -SwitchName "ExternalSwitch"
Set-VMProcessor -VMName "vm-web-01" -Count 2
Start-VM -Name "vm-web-01"
Get-VM                          # список ВМ и состояние
Get-VMMemory -VMName "vm-web-01"

Чекпоинты, память, миграция

IIS — веб-сервер

Install-WindowsFeature Web-Server -IncludeManagementTools
# Управление:
Get-WebSite
New-WebSite -Name "example" -Port 80 -PhysicalPath "C:\inetpub\example" -HostHeader "example.com"
# Пулы приложений:
New-WebAppPool -Name "example-pool"
Set-ItemProperty IIS:\AppPools\example-pool -Name processModel.identityType -Value ApplicationPoolIdentity
# Bindings (SSL):
New-WebBinding -Name "example" -Protocol https -Port 443 -HostHeader "example.com" -SslFlags 1
# Сертификат веб-сайту:
$cert = Get-ChildItem Cert:\LocalMachine\My | Where Subject -like "*example.com*"
New-WebBinding -Name "example" -Protocol https -Port 443 -IPAddress "*" -SslFlags 0
# Назначить через IIS Manager или:
# (IIS:\) > get-item "IIS:\SslBindings\0.0.0.0!443" | set-item -Value $cert
Для SSL используй сертификаты из AD CS или Let's Encrypt (через win-acme / Posh-ACME). Включи HSTS, отключи старые протоколы (TLS 1.0/1.1) через реестр или IISCrypto.

PowerShell — твой друг

Графический интерфейс хорош для одного сервера. Для сотен машин — PowerShell.

Get-Service                  # список служб
Restart-Service Spooler      # перезапуск
Get-Process                  # процессы
Get-EventLog -LogName System -Newest 20   # логи (старый cmdlet)
Get-WinEvent -LogName System -MaxEvents 20 # современный
# Модуль ActiveDirectory:
Import-Module ActiveDirectory
Get-ADUser -Filter * -Properties EmailAddress | Select Name, EmailAddress
New-ADUser -Name "Ivan Petrov" -GivenName "Ivan" -Surname "Petrov" -SamAccountName "ivan" -UserPrincipalName "ivan@corp.local" -AccountPassword (ConvertTo-SecureString "P@ssw0rd!" -AsPlainText -Force) -Enabled $true -Path "ou=Users,dc=corp,dc=local"

Remoting (WinRM)

Enable-PSRemoting -Force       # на сервере (откроет WinRM 5985/5986)
# На клиенте доверить хост (в домене не нужно):
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "srv-01,srv-02" -Concatenate -Force
Enter-PSSession -ComputerName srv-01 -Credential (Get-Credential)
Invoke-Command -ComputerName srv-01,srv-02 -ScriptBlock { Get-Service | Where Status -eq "Running" }

DSC и профили

Windows Admin Center

Бесплатный браузерный центр управления (порт 6516 по умолчанию). Управляет серверами, кластерами Hyper-V, кластерами HCI, компьютерами вне домена. Устанавливается как роль WindowsAdminCenter или отдельным MSI. Возможности: сертификаты, брэндмауэр, обновления, события, процессы, PowerShell-консоль в браузере, управление виртуальными коммутаторами и ВМ.

# Установить роль на сервере (если доступна):
Install-WindowsFeature -Name RSAT-Windows-Admin-Center
# Или скачать MSI с aka.ms/WACDownload и запустить на шлюзовом сервере.

PKI / Active Directory Certificate Services (AD CS)

Свой центр сертификации (CA) для выпуска внутренних сертификатов (TLS для IIS, VPN, 802.1x, EFS, смарт-карты).

# Установка роли Enterprise CA (в домене):
Install-WindowsFeature ADCS-Cert-Authority -IncludeManagementTools
Install-AdcsCertificationAuthority -CAType EnterpriseRootCA -CryptoProviderName "RSA#Microsoft Software Key Storage Provider" -KeyLength 4096 -HashAlgorithmName SHA256 -ValidityPeriod Years -ValidityPeriodUnits 10 -Force
# После установки роли — настройка шаблонов через certsrv.msc

Обновления

Install-WindowsFeature UpdateServices -IncludeManagementTools
# Первичная настройка:
& "C:\Program Files\Update Services\Tools\WsusUtil.exe" postinstall CONTENT_DIR=D:\WSUS

Бэкап и восстановление

Для DC используй системный state / AD-authoritative restore осторожно — неверное восстановление может разрушить репликацию. Лучше держать второй DC и восстанавливать неавторитетно (non-authoritative).

Харденинг Windows Server

Не открывай RDP (3389) напрямую в интернет — пускай только через RD Gateway (443) или VPN. Иначе сервер мгновенно попадёт под брутфорс и возможные 0-day.