Windows Server 2022: первоначальная настройка для офиса в 2026 году
Настроил и запустил больше 200 Windows-серверов для разных офисов в Москве и Подмосковье — от маленького риелторского агентства с тремя сотрудниками до среднего производства на 40 рабочих мест. Дальше — что именно я делаю с новеньким Windows Server 2022 в первые пару часов после установки: без лишних слов, только по делу, с конкретными командами PowerShell.
Какую редакцию и почему я ставлю в 95% случаев
Меня нередко зовут «разобраться» в офис, где предыдущий админ купил Windows Server 2022 Datacenter за 850 000 рублей — чтобы крутить на нём один файловый сервер и AD. Это как взять Mercedes G-Class, чтобы возить на дачу мешок картошки. Datacenter оправдан экономически только когда на одном гипервизоре у вас живёт 10+ виртуалок. Иначе вы платите за неограниченные ВМ, которых у вас никогда не будет.
Моя стандартная рекомендация — Windows Server 2022 Standard. В нём все серверные роли, право на 2 виртуалки Hyper-V и поддержка аж до октября 2031 года (LTSC). Цена через корпоративных партнёров Microsoft в 2026-м — около 120 000 рублей за ядро (минимум 16 ядер). Офису на 25–40 человек этого хватает с запасом.
Server 2025 в продакшен я пока ставлю нечасто, потому что проверенных сценариев использования ещё не так много. К тому же, функции вроде hotpatching и SMB over QUIC на практике почти никому не нужны. А вот 2019-я версия уже устарела. Там по умолчанию нет-нет да и всплывает SMBv1, и Credential Guard там тоже, на мой взгляд, послабее.
Server Core vs Desktop Experience: что выбрать для DC
В 2026 году я планирую ставить Server Core на все контроллеры домена, а также на серверы DNS/DHCP. И вот почему:
- Меньше площадь атаки: нет браузера, нет проводника, нет лишних компонентов.
- На 30% меньше ежемесячных обновлений и перезагрузок.
- Экономия 1.5–2 ГБ RAM на сервер и около 6 ГБ диска.
- Управляется удалённо через Windows Admin Center, RSAT и PowerShell.
Но для сервера 1С, файлового сервера и RDS-хоста я всё же оставляю Desktop Experience. Туда часто приходится ставить агенты для бэкапа и мониторинга, да и всякие тонкости настраивать. А локально, с привычным GUI, это просто-напросто удобнее.
Базовые настройки за первые 30 минут после установки
После того как система установилась и я ввёл пароль локального Administrator, я сразу открываю sconfig. За каких-то 15 минут я прохожусь по всему списку:
Rename-Computer -NewName "DC01" -Restart
# после перезагрузки:
New-NetIPAddress -InterfaceAlias "Ethernet" -IPAddress 192.168.10.10 -PrefixLength 24 -DefaultGateway 192.168.10.1
Set-DnsClientServerAddress -InterfaceAlias "Ethernet" -ServerAddresses 127.0.0.1,192.168.10.11
Set-TimeZone -Id "Russian Standard Time"
w32tm /config /manualpeerlist:"ntp.msk-ix.ru,ru.pool.ntp.org" /syncfromflags:manual /reliable:yes /update
Disable-NetAdapterBinding -Name "Ethernet" -ComponentID ms_tcpip6
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Дальше включаю Remote Desktop и Remote Management:
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name fDenyTSConnections -Value 0
Enable-PSRemoting -Force
Обновления через sconfig → пункт 6 → All quality updates. Перезагрузка после установки. На свежий 2022-й обычно прилетает 4–6 ГБ обновлений, поэтому делаю это до того, как сервер попадёт в продуктив.
Поднимаем Active Directory с нуля
Контроллер домена я всегда устанавливаю на отдельный сервер, будь то физическая машина или ВМ. Никогда не совмещаю его с файловым сервером или 1С. Вот команды, чтобы развернуть первый DC в новом лесу:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSForest `
-DomainName "corp.itfresh.ru" `
-DomainNetbiosName "ITFRESH" `
-DomainMode WinThreshold `
-ForestMode WinThreshold `
-InstallDns:$true `
-DatabasePath "C:\Windows\NTDS" `
-SysvolPath "C:\Windows\SYSVOL" `
-SafeModeAdministratorPassword (ConvertTo-SecureString "СложныйПарольDSRM!2026" -AsPlainText -Force) `
-Force:$true
После перезагрузки сервер становится контроллером домена. Сразу после этого я добавляю второй DC на отдельный сервер — без него вся компания встанет при первом сбое единственного DC:
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-ADDSDomainController `
-DomainName "corp.itfresh.ru" `
-InstallDns:$true `
-SafeModeAdministratorPassword (ConvertTo-SecureString "СложныйПарольDSRM!2026" -AsPlainText -Force) `
-Credential (Get-Credential) `
-Force:$true
Проверка репликации между DC — обязательный шаг через 30 минут после поднятия второго:
Get-ADReplicationFailure -Target "DC01","DC02"
repadmin /replsummary
dcdiag /v
Если Get-ADReplicationFailure возвращает пусто и dcdiag показывает passed — лес здоров.
Проектирование OU и групп безопасности
Грамотно построенная структура OU — половина успеха всего проекта. Я никогда не оставляю пользователей в стандартном контейнере CN=Users, потому что на него нельзя привязать GPO. Вот мой стандартный шаблон для офиса на 30 человек:
$Domain = "DC=corp,DC=itfresh,DC=ru"
# Корневые OU
"Sotrudniki","Workstations","Servers","Groups","ServiceAccounts","PrivilegedAccounts" |
ForEach-Object {
New-ADOrganizationalUnit -Name $_ -Path $Domain -ProtectedFromAccidentalDeletion $true
}
# Подразделения внутри Sotrudniki
$DepartmentsPath = "OU=Sotrudniki,$Domain"
"Buhgalteria","Prodazhi","Marketing","IT","Rukovodstvo","Razrabotka" |
ForEach-Object {
New-ADOrganizationalUnit -Name $_ -Path $DepartmentsPath -ProtectedFromAccidentalDeletion $true
}Группы безопасности создаю по модели AGDLP (Account → Global → Domain Local → Permission). Для каждого подразделения — Global-группа с пользователями, а на ресурсах права назначаются через Domain Local-группы:
$GroupsPath = "OU=Groups,DC=corp,DC=itfresh,DC=ru"
"GG_Buhgalteria","GG_Prodazhi","GG_Marketing","GG_IT","GG_Rukovodstvo" |
ForEach-Object {
New-ADGroup -Name $_ -GroupScope Global -GroupCategory Security -Path $GroupsPath
}
"DL_Share_Buh_Read","DL_Share_Buh_Modify","DL_1C_Buh_Users","DL_1C_Sales_Users" |
ForEach-Object {
New-ADGroup -Name $_ -GroupScope DomainLocal -GroupCategory Security -Path $GroupsPath
}
Add-ADGroupMember -Identity "DL_Share_Buh_Modify" -Members "GG_Buhgalteria"Массовое заведение пользователей из CSV
Когда структура готова, заводим учётки. Я никогда не делаю это руками через ADUC при создании 30+ учёток — только импорт из CSV:
$Users = Import-Csv -Path "C:\install\users.csv" -Delimiter ";" -Encoding UTF8
foreach ($User in $Users) {
$UPN = "$($User.Login)@corp.itfresh.ru"
$Password = ConvertTo-SecureString $User.InitialPassword -AsPlainText -Force
$OUPath = "OU=$($User.Department),OU=Sotrudniki,DC=corp,DC=itfresh,DC=ru"
New-ADUser `
-Name "$($User.Surname) $($User.GivenName)" `
-GivenName $User.GivenName `
-Surname $User.Surname `
-SamAccountName $User.Login `
-UserPrincipalName $UPN `
-DisplayName "$($User.Surname) $($User.GivenName)" `
-EmailAddress $User.Email `
-Title $User.Position `
-Department $User.Department `
-Office $User.Office `
-OfficePhone $User.Phone `
-Path $OUPath `
-AccountPassword $Password `
-Enabled $true `
-ChangePasswordAtLogon $true
Add-ADGroupMember -Identity "GG_$($User.Department)" -Members $User.Login
}В CSV-файле — колонки Login, Surname, GivenName, Email, Position, Department, Office, Phone, InitialPassword. Файл готовлю вместе с HR заказчика, начальные пароли генерирую через [System.Web.Security.Membership]::GeneratePassword(14,3) и передаю клиенту в зашифрованном виде.
DNS и DHCP: настройки, которые экономят нервы
DNS, конечно, поднимается сам, когда устанавливаешь роль AD DS. Но есть пара моментов, которые я обязательно делаю дополнительно:
- Настраиваю forwarders на надёжные DNS (1.1.1.1, 8.8.8.8 или внутренние корпоративные).
- Включаю обратные зоны (Reverse Lookup Zone) для подсетей — без них Kerberos и многие службы работают криво.
- Включаю Scavenging для очистки устаревших записей: интервал 7 дней.
- Отключаю рекурсию для внешних запросов, если сервер виден в интернет.
Add-DnsServerForwarder -IPAddress 1.1.1.1,8.8.8.8
Set-DnsServerScavenging -ScavengingState $true -ScavengingInterval 7.00:00:00 -RefreshInterval 7.00:00:00 -NoRefreshInterval 7.00:00:00
Add-DnsServerPrimaryZone -NetworkId "192.168.10.0/24" -ReplicationScope Domain -DynamicUpdate Secure
DHCP я ставлю на тот же сервер, что и DC, в офисах до 50 человек. Авторизация в AD обязательна, иначе сервис не запустится:
Install-WindowsFeature DHCP -IncludeManagementTools
Add-DhcpServerInDC -DnsName "dc01.corp.itfresh.ru" -IPAddress 192.168.10.10
Add-DhcpServerv4Scope -Name "Office" -StartRange 192.168.10.50 -EndRange 192.168.10.250 -SubnetMask 255.255.255.0
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.10,192.168.10.11 -DnsDomain "corp.itfresh.ru"
DHCP failover и распределение FSMO-ролей
Для офиса на 30 человек DHCP я настраиваю одним из двух способов: либо ставлю роль DHCP на оба DC с настроенным failover в режиме Hot-Standby, либо настраиваю DHCP прямо на роутере (например, MikroTik с failover между двумя устройствами) и оставляю серверы исключительно под AD. Первый вариант — классика для Windows-инфраструктур:
Add-DhcpServerv4Failover -ComputerName "DC01.corp.itfresh.ru" `
-PartnerServer "DC02.corp.itfresh.ru" `
-Name "DHCP-Failover-Users" `
-ScopeId 192.168.10.0 `
-SharedSecret "ОченьДлинныйСекретДляФейловера2026!" `
-Mode HotStandby `
-ServerRole Active `
-ReservePercent 20В лесу AD есть пять FSMO-ролей: Schema Master, Domain Naming Master, RID Master, PDC Emulator и Infrastructure Master. По умолчанию все они находятся на первом контроллере домена. В офисе на 30 человек я обычно оставляю их на DC01, но всегда проверяю, где они, и знаю, как перенести:
# Где сейчас FSMO
netdom query fsmo
# Перенос (graceful) — если планово
Move-ADDirectoryServerOperationMasterRole `
-Identity "DC02" `
-OperationMasterRole PDCEmulator,RIDMaster,InfrastructureMaster,SchemaMaster,DomainNamingMaster
# Захват (seize) — только если DC1 умер и не вернётся
Move-ADDirectoryServerOperationMasterRole `
-Identity "DC02" `
-OperationMasterRole PDCEmulator -ForcePDC Emulator — это сервер, на который должна быть направлена внешняя синхронизация времени. Настраиваю NTP только на держателе PDC, остальные DC синхронизируются с ним по умолчанию.
Remote Desktop Services для удалённой работы 1С
В 30% офисов, которые я обслуживаю, бухгалтерия работает с 1С через RDS. Развёртывание роли RDS Session Host:
Install-WindowsFeature RDS-RD-Server,RDS-Licensing -IncludeManagementTools
Set-RDLicenseConfiguration -LicenseServer "rds01.corp.itfresh.ru" -Mode PerUser -ConnectionBroker "rds01.corp.itfresh.ru"
Лицензии RDS CAL покупаются отдельно (около 4 500 руб./пользователь в 2026 году). Активация лицензионного сервера через licmgr.exe. На один сервер с 32 ГБ RAM комфортно сажаются 25–30 пользователей 1С — больше начинаются качели по памяти.
Безопасность: что выключить и что включить в первый день
За 15 лет моей работы у меня сформировался свой собственный чек-лист безопасности, по которому я прохожусь абсолютно на каждом сервере:
# Отключаем SMBv1 — это XSS среди сетевых протоколов
Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol -NoRestart
# Включаем Defender в продакшене
Set-MpPreference -DisableRealtimeMonitoring $false
Set-MpPreference -EnableControlledFolderAccess Enabled
# Отключаем устаревшие cipher suites
Disable-TlsCipherSuite -Name "TLS_RSA_WITH_3DES_EDE_CBC_SHA"
# BitLocker на системный диск с TPM
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -UsedSpaceOnly -TpmProtector
# Блокируем легаси-протоколы аутентификации в AD
Set-ADDomainMode -Identity "corp.itfresh.ru" -DomainMode Windows2016Domain
Аккаунт встроенного Administrator переименовываю и блокирую через GPO. Создаю отдельные admin-учётки именные (admin-semenov), чтобы в логах было видно, кто что делал.
Бэкап и Windows Server Backup
Сервер без бэкапа — это бомба замедленного действия. Минимальная схема для DC:
Install-WindowsFeature Windows-Server-Backup
$Policy = New-WBPolicy
$Target = New-WBBackupTarget -NetworkPath "\\nas01\backup\dc01" -Credential (Get-Credential)
Add-WBSystemState -Policy $Policy
Add-WBBackupTarget -Policy $Policy -Target $Target
Set-WBSchedule -Policy $Policy -Schedule 01:00,13:00
Set-WBPolicy -Policy $Policy
System State включает базу AD, SYSVOL, реестр и сертификаты — этого достаточно для восстановления контроллера. Храню бэкапы 30 дней, обязательно одну копию выношу за пределы домена (NAS в другом VLAN или внешний диск). Раз в квартал делаю тестовое восстановление в лабораторию — не реже.
Windows Admin Center: панель управления через браузер
WAC я обычно разворачиваю на отдельной виртуалке, ей вполне хватает 2 vCPU и 4 ГБ RAM, и разрешаю доступ к ней только из админской VLAN. Установка выглядит так:
Start-BitsTransfer -Source "https://aka.ms/WACdownload" -Destination "$env:TEMP\WindowsAdminCenter.exe"
Start-Process -FilePath "$env:TEMP\WindowsAdminCenter.exe" -ArgumentList '/VERYSILENT','/HTTPSPortNumber=443' -Wait
После установки доступен по https://wac01.corp.itfresh.ru. Через WAC удобно управлять Server Core: установка ролей, мониторинг, файрвол, сертификаты, Hyper-V, обновления — всё через браузер.
Типичные ошибки, которые я встречаю в чужих установках
Когда я приезжаю на аудит к новому клиенту, в 8 случаях из 10 я вижу одну и ту же, к сожалению, привычную картину:
- Один контроллер домена — при его падении встаёт всё.
- DC совмещён с сервером 1С и файловым сервером — куча проблем с обновлениями и нагрузкой.
- Бэкапов нет, либо они есть на том же диске, что и продуктив.
- SMBv1 включён, по логам видно сканирование от чужих устройств.
- Пароль администратора домена не менялся 4 года и одинаков с админом локальных серверов.
- RDP открыт в интернет на стандартный порт 3389.
- Кеш-обновлений никто не чистит, диск С полон до 95%.
Если у вас совпало хотя бы три пункта из этого списка, то, поверьте, пора срочно заказывать аудит. И это не просто слова, не какая-то там теория: вопрос уже не в том, «если» произойдёт инцидент, а в том, «когда» он случится.
FAQ — частые вопросы по настройке Windows Server 2022
- Какую редакцию Windows Server 2022 выбрать — Standard или Datacenter?
- Для офиса до 30 пользователей и 1–2 серверов берите Standard: дешевле в 7 раз и хватает для AD, файлов, 1С. Datacenter имеет смысл только при плотной виртуализации (10+ ВМ на хост) или Storage Spaces Direct.
- Server Core или GUI для контроллера домена?
- Для DC рекомендую Server Core: меньше уязвимостей, на 30% меньше обновлений, экономия RAM. Управляется через Windows Admin Center и RSAT. Для файлового сервера или сервера 1С удобнее GUI.
- Стоит ли переходить на Windows Server 2025?
- В 2026 году я рекомендую 2022 как проверенную версию (LTSC до 2031 года). Server 2025 имеет смысл, если нужны hotpatching без перезагрузок, SMB over QUIC или новый GPU partitioning.
- Сколько контроллеров домена нужно для отказоустойчивости?
- Минимум два DC даже для офиса в 20 человек. Один DC = одна точка отказа: при сбое сотрудники не смогут войти в почту, 1С, файлы. Второй DC ставится на отдельный физический сервер или гипервизор.
- Что обязательно настроить сразу после установки?
- Переименование сервера, статический IP, обновления (sconfig), отключение IPv6 на интерфейсах для AD, настройка часового пояса и NTP, бэкап System State, BitLocker на системный диск, отключение SMBv1, включение Defender.

