Windows Server 2022: первоначальная настройка для бизнеса

Задача клиента: развернуть серверную инфраструктуру с нуля

IT-компания «СервисГрупп» обратилась к специалистам itfresh.ru с задачей развёртывания серверной инфраструктуры на 10 физических серверах Dell PowerEdge R750. Компания обслуживает средний бизнес и нуждалась в надёжном фундаменте: контроллеры домена Active Directory, файловые серверы, серверы терминалов и инфраструктурные роли DNS/DHCP. Предыдущая инфраструктура работала на Windows Server 2012 R2, срок расширенной поддержки которого истёк.

Ключевые требования: минимальное время простоя при миграции, единообразная конфигурация всех серверов, централизованное управление через Windows Admin Center и возможность удалённого администрирования через PowerShell. Бюджет предполагал использование лицензий Windows Server 2022 Standard с правом на две виртуальные машины на хост.

В этой статье мы подробно разберём каждый этап — от выбора редакции до финальной проверки всех служб.

Выбор редакции: Desktop Experience vs Server Core

Первый вопрос при установке Windows Server 2022 — выбор между Desktop Experience (полный графический интерфейс) и Server Core (минимальная установка без GUI). Для «СервисГрупп» мы использовали комбинированный подход.

Server Core выбран для контроллеров домена и DNS/DHCP-серверов. Преимущества очевидны: уменьшенная поверхность атаки (нет браузера, Проводника, большинства GUI-компонентов), на 30% меньше обновлений безопасности, экономия 4-6 ГБ оперативной памяти. Server Core управляется через sconfig, PowerShell и Windows Admin Center удалённо.

Desktop Experience установлен на серверы Remote Desktop Services и файловые серверы, где администраторам клиента удобнее работать с графическим интерфейсом.

Установка выполняется с загрузочного USB или через PXE-сервер. Для массового развёртывания мы подготовили файл ответов autounattend.xml:

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
  <settings pass="windowsPE">
    <component name="Microsoft-Windows-Setup">
      <DiskConfiguration>
        <Disk wcm:action="add">
          <DiskID>0</DiskID>
          <WillWipeDisk>true</WillWipeDisk>
          <CreatePartitions>
            <CreatePartition wcm:action="add">
              <Order>1</Order>
              <Size>500</Size>
              <Type>EFI</Type>
            </CreatePartition>
            <CreatePartition wcm:action="add">
              <Order>2</Order>
              <Extend>true</Extend>
              <Type>Primary</Type>
            </CreatePartition>
          </CreatePartitions>
        </Disk>
      </DiskConfiguration>
      <ImageInstall>
        <OSImage>
          <InstallFrom>
            <MetaData wcm:action="add">
              <Key>/IMAGE/INDEX</Key>
              <Value>3</Value> <!-- Server Core Standard -->
            </MetaData>
          </InstallFrom>
        </OSImage>
      </ImageInstall>
    </component>
  </settings>
</unattend>

После установки первое, что видит администратор на Server Core — окно командной строки. Именно здесь начинается настройка через sconfig.

Первоначальная конфигурация через sconfig и PowerShell

Утилита sconfig — текстовое меню для базовых настроек Server Core. Запускается автоматически при входе или командой sconfig. Через неё мы последовательно настроили каждый сервер.

# Шаг 1: Задаём имя компьютера (пункт 2 в sconfig)
Rename-Computer -NewName "DC01-SG" -Restart

# Шаг 2: Присоединяем к домену (после создания первого DC)
Add-Computer -DomainName "servicegroup.local" -Restart

# Шаг 3: Настраиваем сетевой адаптер
New-NetIPAddress -InterfaceAlias "Ethernet" `
  -IPAddress 10.10.1.10 `
  -PrefixLength 24 `
  -DefaultGateway 10.10.1.1

Set-DnsClientServerAddress -InterfaceAlias "Ethernet" `
  -ServerAddresses 10.10.1.10,10.10.1.11

# Шаг 4: Включаем удалённый рабочий стол (пункт 7 в sconfig)
# Или через PowerShell:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' `
  -Name "fDenyTSConnections" -Value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"

# Шаг 5: Включаем Windows Remote Management
Enable-PSRemoting -Force
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "10.10.1.*"

Для единообразия мы автоматизировали процесс через PowerShell-скрипт, который принимает параметры из CSV-файла с именами серверов, IP-адресами и назначенными ролями:

# initial_config.ps1 — запускается на каждом сервере после установки
param(
    [string]$ServerName,
    [string]$IPAddress,
    [string]$Gateway = "10.10.1.1",
    [string]$DNS1 = "10.10.1.10",
    [string]$DNS2 = "10.10.1.11"
)

# Настройка сети
$adapter = Get-NetAdapter | Where-Object { $_.Status -eq "Up" }
New-NetIPAddress -InterfaceIndex $adapter.ifIndex `
  -IPAddress $IPAddress -PrefixLength 24 -DefaultGateway $Gateway
Set-DnsClientServerAddress -InterfaceIndex $adapter.ifIndex `
  -ServerAddresses $DNS1,$DNS2

# Имя компьютера
Rename-Computer -NewName $ServerName

# Часовой пояс
Set-TimeZone -Id "Russian Standard Time"

# NTP
w32tm /config /manualpeerlist:"ntp.servicegroup.local" /syncfromflags:manual /update

# Отключение IPv6 (по требованию клиента)
Get-NetAdapterBinding -ComponentID ms_tcpip6 | Disable-NetAdapterBinding -ComponentID ms_tcpip6

# Перезагрузка
Restart-Computer -Force

Через 15 минут все 10 серверов были готовы к установке ролей.

Windows Admin Center: единая панель управления

Windows Admin Center (WAC) — бесплатный веб-инструмент Microsoft для управления серверами через браузер. Для «СервисГрупп» мы развернули WAC в режиме шлюза на выделенном сервере, доступном всем администраторам.

# Скачивание и установка WAC в режиме шлюза
# Скачиваем MSI с сайта Microsoft
msiexec /i WindowsAdminCenter.msi /qn /L*v wac_install.log `
  SME_PORT=443 SSL_CERTIFICATE_OPTION=generate `
  SME_THUMBPRINT= GATEWAY_ENDPOINT=wac.servicegroup.local

# Проверяем статус службы
Get-Service ServerManagementGateway | Format-List *

После установки WAC доступен по адресу https://wac.servicegroup.local. Через него мы добавили все 10 серверов и настроили:

  • Мониторинг производительности — CPU, RAM, диски, сеть в реальном времени для каждого сервера.
  • Управление ролями — установка и настройка ролей через графический интерфейс без RDP-подключения к серверу.
  • Обновления — централизованная проверка и установка обновлений Windows на всех серверах.
  • PowerShell-консоль — встроенный терминал для каждого сервера прямо в браузере.
  • События и журналы — просмотр Event Log без подключения к серверу.

WAC особенно удобен для Server Core — администраторы «СервисГрупп» получили привычный графический интерфейс для управления серверами без GUI. При этом все действия выполняются через WinRM и PowerShell на целевом сервере.

Для доступа извне корпоративной сети мы настроили Azure AD Application Proxy, позволяющий администраторам подключаться к WAC через браузер с двухфакторной аутентификацией.

Active Directory Domain Services: контроллеры домена

Фундамент любой корпоративной инфраструктуры Windows — Active Directory. Для «СервисГрупп» мы развернули домен servicegroup.local с двумя контроллерами домена для отказоустойчивости.

# DC01: установка роли AD DS
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

# Повышение до контроллера домена — создание нового леса
Install-ADDSForest `
  -DomainName "servicegroup.local" `
  -DomainNetbiosName "SERVICEGROUP" `
  -ForestMode "WinThreshold" `
  -DomainMode "WinThreshold" `
  -InstallDns:$true `
  -DatabasePath "D:\NTDS" `
  -LogPath "D:\NTDS" `
  -SysvolPath "D:\SYSVOL" `
  -SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd!Str0ng#2024" -AsPlainText -Force) `
  -Force:$true

# DC02: добавление второго контроллера домена
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools

Install-ADDSDomainController `
  -DomainName "servicegroup.local" `
  -InstallDns:$true `
  -DatabasePath "D:\NTDS" `
  -LogPath "D:\NTDS" `
  -SysvolPath "D:\SYSVOL" `
  -SafeModeAdministratorPassword (ConvertTo-SecureString "P@ssw0rd!Str0ng#2024" -AsPlainText -Force) `
  -Force:$true

Базы данных AD и SYSVOL размещены на отдельном диске D: — это упрощает резервное копирование и повышает производительность за счёт разделения нагрузки ввода-вывода.

Структуру OU (Organizational Units) мы спроектировали по подразделениям клиента:

# Создание структуры OU
$OUs = @(
    "OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=Users,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=Computers,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=Servers,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=Groups,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=ServiceAccounts,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=IT,OU=Users,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=Sales,OU=Users,OU=ServiceGroup,DC=servicegroup,DC=local",
    "OU=Management,OU=Users,OU=ServiceGroup,DC=servicegroup,DC=local"
)

foreach ($ou in $OUs) {
    $name = ($ou -split ',')[0] -replace 'OU=',''
    $path = ($ou -split ',',2)[1]
    New-ADOrganizationalUnit -Name $name -Path $path -ProtectedFromAccidentalDeletion $true
    Write-Host "Created: $ou"
}

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

DNS, DHCP и Remote Desktop Services

Роли DNS и DHCP — неотъемлемая часть инфраструктуры Active Directory. DNS устанавливается автоматически вместе с AD DS, но требует дополнительной настройки. DHCP развёрнут на отдельном сервере с резервированием.

# DNS: настройка forwarder для внешних запросов
Set-DnsServerForwarder -IPAddress 8.8.8.8,77.88.8.8

# DNS: создание зоны обратного просмотра
Add-DnsServerPrimaryZone -NetworkID "10.10.1.0/24" -ReplicationScope "Forest"

# DNS: включение DNS Scavenging (очистка устаревших записей)
Set-DnsServerScavenging -ScavengingState $true `
  -RefreshInterval 7.00:00:00 -NoRefreshInterval 7.00:00:00
Set-DnsServerZoneAging -Name "servicegroup.local" -Aging $true

# DHCP: установка роли
Install-WindowsFeature DHCP -IncludeManagementTools

# DHCP: авторизация в AD
Add-DhcpServerInDC -DnsName "DHCP01-SG.servicegroup.local" -IPAddress 10.10.1.12

# DHCP: создание области
Add-DhcpServerv4Scope -Name "Office-LAN" `
  -StartRange 10.10.1.100 -EndRange 10.10.1.250 `
  -SubnetMask 255.255.255.0 -LeaseDuration 8.00:00:00

# DHCP: опции области
Set-DhcpServerv4OptionValue -ScopeId 10.10.1.0 `
  -DnsServer 10.10.1.10,10.10.1.11 `
  -DnsDomain "servicegroup.local" `
  -Router 10.10.1.1

# DHCP: резервирование для принтеров и серверов
Add-DhcpServerv4Reservation -ScopeId 10.10.1.0 `
  -IPAddress 10.10.1.50 -ClientId "AA-BB-CC-DD-EE-01" `
  -Name "Printer-Floor1" -Description "HP LaserJet 1 этаж"

Для DHCP-отказоустойчивости настроен Hot Standby с партнёром:

Add-DhcpServerv4Failover -Name "SG-Failover" `
  -PartnerServer "DHCP02-SG.servicegroup.local" `
  -ScopeId 10.10.1.0 `
  -SharedSecret "F@il0v3r$ecret" `
  -Mode HotStandby `
  -ReservePercent 10

Remote Desktop Services развёрнуты на двух серверах с Desktop Experience для работы удалённых сотрудников «СервисГрупп»:

# Установка роли RDS
Install-WindowsFeature RDS-RD-Server, RDS-Licensing, RDS-Web-Access `
  -IncludeManagementTools

# Настройка лицензирования (Per User)
$obj = gwmi -namespace "Root/CIMV2/TerminalServices" Win32_TerminalServiceSetting
$obj.SetSpecifiedLicenseServerList("RDS01-SG.servicegroup.local")
$obj.ChangeMode(4)  # Per User

# Ограничение сессий: отключение idle через 30 минут
$RegPath = "HKLM:\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services"
Set-ItemProperty -Path $RegPath -Name "MaxIdleTime" -Value 1800000
Set-ItemProperty -Path $RegPath -Name "MaxDisconnectionTime" -Value 3600000

Для безопасности RDP-подключений включён Network Level Authentication (NLA) и настроен RD Gateway для доступа через HTTPS.

Windows Firewall и автоматизация обновлений

Брандмауэр Windows — первая линия защиты сервера. Мы настроили единые правила через групповую политику и PowerShell.

# Базовые правила для контроллеров домена
# Разрешаем AD-трафик
New-NetFirewallRule -DisplayName "AD - LDAP" -Direction Inbound `
  -Protocol TCP -LocalPort 389 -Action Allow -Profile Domain
New-NetFirewallRule -DisplayName "AD - LDAPS" -Direction Inbound `
  -Protocol TCP -LocalPort 636 -Action Allow -Profile Domain
New-NetFirewallRule -DisplayName "AD - Kerberos" -Direction Inbound `
  -Protocol TCP -LocalPort 88 -Action Allow -Profile Domain
New-NetFirewallRule -DisplayName "AD - DNS" -Direction Inbound `
  -Protocol TCP -LocalPort 53 -Action Allow -Profile Domain
New-NetFirewallRule -DisplayName "AD - DNS UDP" -Direction Inbound `
  -Protocol UDP -LocalPort 53 -Action Allow -Profile Domain
New-NetFirewallRule -DisplayName "AD - Global Catalog" -Direction Inbound `
  -Protocol TCP -LocalPort 3268,3269 -Action Allow -Profile Domain

# Блокируем SMBv1 (уязвимость WannaCry)
Set-SmbServerConfiguration -EnableSMB1Protocol $false -Force
New-NetFirewallRule -DisplayName "Block SMBv1" -Direction Inbound `
  -Protocol TCP -LocalPort 445 -Action Block `
  -RemoteAddress "0.0.0.0/0" -Profile Public

# Включаем логирование брандмауэра
Set-NetFirewallProfile -Profile Domain,Public,Private `
  -LogAllowed True -LogBlocked True `
  -LogFileName "%SystemRoot%\System32\LogFiles\Firewall\pfirewall.log" `
  -LogMaxSizeKilobytes 16384

Автоматизация обновлений Windows — критически важный процесс. Для «СервисГрупп» мы настроили WSUS (подробнее в статье 114) и PowerShell-скрипт для контролируемой установки:

# Установка модуля PSWindowsUpdate
Install-Module PSWindowsUpdate -Force

# Скрипт автоматической установки обновлений (запуск по расписанию)
# update_servers.ps1
$servers = @("DC01-SG","DC02-SG","FS01-SG","DHCP01-SG")
$logPath = "\\FS01-SG\Logs\Updates"

foreach ($server in $servers) {
    $date = Get-Date -Format "yyyy-MM-dd_HH-mm"
    $log = "$logPath\$server`_$date.log"

    Invoke-Command -ComputerName $server -ScriptBlock {
        Import-Module PSWindowsUpdate
        Get-WindowsUpdate -Install -AcceptAll -AutoReboot `
          -ScheduleReboot (Get-Date).AddHours(6)
    } | Out-File $log

    Write-Host "$server — обновления запланированы, лог: $log"
}

Расписание: серверы обновляются в воскресенье в 02:00, перезагрузка не раньше 05:00 — до начала рабочего дня.

Итоги и рекомендации по обслуживанию

За три рабочих дня инфраструктура «СервисГрупп» из 10 серверов была полностью развёрнута и введена в эксплуатацию. Ключевые результаты:

КомпонентРешениеСтатус
Контроллеры домена2x Server Core + AD DSОтказоустойчивый
DNSAD-интегрированная зонаРеплицируется
DHCPHot Standby FailoverОтказоустойчивый
Файловые серверы2x Desktop Experience + DFSРеплицируется
RDS2x Session Host + GatewayБалансировка нагрузки
УправлениеWindows Admin CenterЕдиная панель
ОбновленияWSUS + PSWindowsUpdateАвтоматизировано

Рекомендации по регулярному обслуживанию:

  • Ежедневно — проверка Event Log на критические ошибки, мониторинг репликации AD через repadmin /replsummary.
  • Еженедельно — проверка состояния бэкапов, контроль свободного места на дисках, установка обновлений безопасности.
  • Ежемесячно — аудит учётных записей, проверка сроков паролей, ревизия групповых политик.
  • Ежеквартально — тестирование восстановления из бэкапа, обновление документации, пересмотр правил брандмауэра.

Если ваша компания планирует миграцию на Windows Server 2022 или развёртывание инфраструктуры с нуля — обращайтесь к специалистам itfresh.ru. Мы спроектируем решение под ваши задачи и обеспечим бесшовный переход.

Часто задаваемые вопросы

Standard подходит большинству компаний: включает все серверные роли и право на 2 виртуальные машины Hyper-V. Datacenter нужен при плотной виртуализации (неограниченное количество ВМ), использовании Storage Spaces Direct или Software Defined Networking. Для 10 серверов «СервисГрупп» Standard оказался оптимальным выбором.
Да. Windows Admin Center предоставляет полноценный графический интерфейс через браузер для всех задач администрирования Server Core: установка ролей, мониторинг, управление дисками, брандмауэром, обновлениями. Также доступны RSAT-инструменты с рабочей станции Windows 10/11.
Минимум два контроллера домена в каждом сайте Active Directory. Если один DC выходит из строя, второй продолжает обслуживать аутентификацию. Для географически распределённых организаций рекомендуется минимум по одному DC в каждом офисе с более чем 50 пользователями.
Используйте Windows Server Backup с опцией System State — она включает базу данных AD, SYSVOL, реестр и сертификаты. Бэкап рекомендуется выполнять ежедневно, хранить не менее 30 дней. Критически важно: не восстанавливайте бэкап старше tombstone lifetime (по умолчанию 180 дней).
Для небольших инфраструктур (до 20 серверов) WAC можно установить на рабочую станцию администратора. Для средних и крупных — рекомендуется выделенный сервер в режиме шлюза с SSL-сертификатом, доступный всем администраторам через браузер. WAC потребляет минимум ресурсов: 2 ГБ RAM и 2 vCPU достаточно.

Нужна помощь с проектом?

Специалисты АйТи Фреш помогут с архитектурой, DevOps, безопасностью и разработкой — 15+ лет опыта

📞 Связаться с нами
#windows server 2022#первоначальная настройка#active directory#dns сервер#dhcp сервер#server core#windows admin center#remote desktop services
Комментарии 0

Оставить комментарий

загрузка...