Домен и учетки
AD DS, OU, группы, права, политики, вход на ПК и серверы.
Полезный справочник по администрированию: базовые PowerShell-команды, поднятие AD DS, роли FSMO, DNS, DHCP, GPO, Hyper-V, hardening, backup и мониторинг.
Не просто нажимать Next. Нужно понимать, что именно сервер делает в инфраструктуре.
AD DS, OU, группы, права, политики, вход на ПК и серверы.
DNS, DHCP, статические IP, зоны, реверс-зоны, резервации и диагностика.
Обновления, резервные копии, мониторинг, журналы, доступы и аудит.
Первое, что нужно иметь под рукой: система, сеть, службы, роли, процессы и логи.
Get-ComputerInfo
Get-WindowsEdition -Online
Get-HotFix | Sort-Object InstalledOn -Descending
Get-CimInstance Win32_OperatingSystem
Get-CimInstance Win32_LogicalDisk
Get-Volume
Get-PhysicalDisk
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10Get-NetIPConfiguration
Get-NetAdapter
Get-NetIPAddress
Get-DnsClientServerAddress
Test-NetConnection 8.8.8.8
Test-NetConnection dc01.corp.local -Port 389
Resolve-DnsName dc01.corp.local
Get-NetTCPConnection | Sort-Object LocalPortGet-Service | Sort-Object Status,Name
Restart-Service Spooler
Set-Service Spooler -StartupType Automatic
Get-WindowsFeature
Get-WindowsFeature | Where-Object Installed
Install-WindowsFeature -Name FS-FileServer -IncludeManagementTools
Remove-WindowsFeature -Name Web-ServerGet-EventLog -LogName System -Newest 50
Get-WinEvent -LogName Security -MaxEvents 50
Get-WinEvent -FilterHashtable @{LogName='System';Level=2}
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625}
wevtutil el
wevtutil qe System /c:20 /f:textAD DS - это ядро корпоративной Windows-инфраструктуры. Ошибки в DNS, времени или правах потом бьют по всем.
Rename-Computer -NewName DC01 -Restart
Install-WindowsFeature AD-Domain-Services -IncludeManagementTools
Install-WindowsFeature DNS -IncludeManagementTools
Import-Module ADDSDeployment
Install-ADDSForest -DomainName corp.local -DomainNetbiosName CORP -InstallDNS
Get-ADDomain
Get-ADForest
Get-ADDomainController -Filter *
netdom query fsmoНормальная логика AD: сначала OU, потом группы, потом права на ресурсы. Не раздавай права напрямую каждому юзеру.
New-ADOrganizationalUnit -Name Users -Path "DC=corp,DC=local"
New-ADOrganizationalUnit -Name Servers -Path "DC=corp,DC=local"
New-ADOrganizationalUnit -Name Workstations -Path "DC=corp,DC=local"
New-ADGroup -Name GG-Files-Accounting-RW -GroupScope Global -GroupCategory Security
New-ADGroup -Name GG-Files-Accounting-RO -GroupScope Global -GroupCategory Security
Get-ADOrganizationalUnit -Filter *
Get-ADGroup -Filter "Name -like 'GG-*'"New-ADUser -Name "Ivan Petrov" -SamAccountName i.petrov -UserPrincipalName i.petrov@corp.local -Enabled $true
Set-ADAccountPassword i.petrov -Reset
Enable-ADAccount i.petrov
Add-ADGroupMember GG-Files-Accounting-RW i.petrov
Get-ADUser i.petrov -Properties MemberOf,LastLogonDate
Search-ADAccount -LockedOut
Unlock-ADAccount i.petrov
Disable-ADAccount i.petrovdcdiag /v
repadmin /replsummary
repadmin /showrepl
nltest /dsgetdc:corp.local
nltest /dclist:corp.local
netdom query fsmo
Get-ADReplicationFailure -Target DC01Add-Computer -DomainName corp.local -Credential CORP/admin.join -Restart
Test-ComputerSecureChannel
Test-ComputerSecureChannel -Repair -Credential CORP/admin.join
Remove-Computer -UnjoinDomainCredential CORP/admin.join -RestartЕсли DNS плохой - домен будет ломаться странно и непредсказуемо. Не игнорируй имена, зоны и реверс-записи.
Install-WindowsFeature DNS -IncludeManagementTools
Get-DnsServerZone
Add-DnsServerPrimaryZone -Name corp.local -ReplicationScope Domain
Add-DnsServerResourceRecordA -ZoneName corp.local -Name filesrv01 -IPv4Address 192.168.10.20
Resolve-DnsName filesrv01.corp.local
Clear-DnsClientCache
ipconfig /flushdns
ipconfig /registerdnsInstall-WindowsFeature DHCP -IncludeManagementTools
Add-DhcpServerInDC -DnsName dc01.corp.local -IPAddress 192.168.10.10
Add-DhcpServerv4Scope -Name Office-LAN -StartRange 192.168.10.100 -EndRange 192.168.10.200 -SubnetMask 255.255.255.0
Set-DhcpServerv4OptionValue -ScopeId 192.168.10.0 -Router 192.168.10.1 -DnsServer 192.168.10.10 -DnsDomain corp.local
Get-DhcpServerv4Lease -ScopeId 192.168.10.0Нормальный Hyper-V - это отдельные виртуальные коммутаторы, понятные имена VM, резервы ресурсов и backup не на тот же диск.
Install-WindowsFeature Hyper-V -IncludeManagementTools -Restart
Get-VM
Get-VMSwitch
New-VMSwitch -Name External-LAN -NetAdapterName Ethernet -AllowManagementOS $true
New-VM -Name SRV-FS01 -MemoryStartupBytes 4GB -Generation 2 -NewVHDPath D:/VM/SRV-FS01/SRV-FS01.vhdx -NewVHDSizeBytes 80GB -SwitchName External-LAN
Set-VMProcessor SRV-FS01 -Count 2
Set-VMMemory SRV-FS01 -DynamicMemoryEnabled $true -MinimumBytes 2GB -StartupBytes 4GB -MaximumBytes 8GB
Start-VM SRV-FS01
Checkpoint-VM SRV-FS01 -SnapshotName Before-Update
Get-VMIntegrationService SRV-FS01Сервер не должен жить с дефолтными правами, слабыми паролями и лишними портами.
Get-NetFirewallProfile
Set-NetFirewallProfile -Profile Domain,Private,Public -Enabled True
Get-NetFirewallRule | Where-Object Enabled -eq True
New-NetFirewallRule -DisplayName Allow-RDP-AdminSubnet -Direction Inbound -Protocol TCP -LocalPort 3389 -RemoteAddress 192.168.10.0/24 -Action Allow
Get-MpComputerStatus
Update-MpSignature
Start-MpScan -ScanType QuickScanauditpol /get /category:*
auditpol /set /subcategory:"Logon" /success:enable /failure:enable
auditpol /set /subcategory:"Account Lockout" /success:enable /failure:enable
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4624} -MaxEvents 20
Get-WinEvent -FilterHashtable @{LogName='Security';ID=4625} -MaxEvents 20
Get-LocalGroupMember Administrators| Зона | Что сделать | Зачем |
|---|---|---|
| RDP | Разрешить только с admin-подсети или VPN | Меньше риск brute-force и внешней атаки |
| Local Admins | Проверить состав группы Administrators | Убрать лишние привилегии |
| SMB | Отключить SMB1, проверить шары | Снизить риск lateral movement |
| Updates | Патчи по графику и после backup | Не ломать прод на ровном месте |
3 копии данных, 2 разных типа носителей, 1 копия вне основной площадки. Главное - регулярно проверять восстановление.
Install-WindowsFeature Windows-Server-Backup
Get-WBPolicy
Get-WBBackupSet
wbadmin start systemstatebackup -backupTarget:E: -quiet
wbadmin get versions
wbadmin get items -version:03/20/2026-22:00
wbadmin start recovery -version:03/20/2026-22:00 -itemType:File -items:C:/Data -recoveryTarget:D:/Restore -quietПростой режим контроля, который экономит нервы и время.
Get-Volume, журналы о нехватке места, рост VHDX и логов.
Ошибки Level 2, неудачные входы 4625, ошибки служб, падения драйверов.
Задача завершилась успешно, копия не лежит только на том же сервере.
dcdiag, repadmin /replsummary, Resolve-DnsName, проверка SRV-записей домена.
Патчи, Defender signatures, статус защиты и перезагрузки.
Самая частая ошибка - раздавать права на папки каждому пользователю отдельно. Нужна модель через группы.
Account - Global Group - Domain Local Group - Permission. Учетки кладем в global-группы, а права на ресурс выдаем domain local-группам.
Install-WindowsFeature FS-FileServer -IncludeManagementTools
New-Item -ItemType Directory -Path D:/Shares/Accounting
New-SmbShare -Name Accounting -Path D:/Shares/Accounting -FullAccess "CORP/DL-FS-Accounting-RW" -ReadAccess "CORP/DL-FS-Accounting-RO"
Get-SmbShare
Get-SmbShareAccess Accounting
Grant-SmbShareAccess -Name Accounting -AccountName "CORP/DL-FS-Accounting-RW" -AccessRight Full -Force
Revoke-SmbShareAccess -Name Accounting -AccountName "Everyone" -Force
icacls D:/Shares/Accounting
icacls D:/Shares/Accounting /grant "CORP/DL-FS-Accounting-RW:(OI)(CI)M"GPO - это не место для хаоса. Каждая политика должна иметь имя, цель, OU и понятную зону влияния.
| GPO | Что делает | Совет |
|---|---|---|
| Password Policy | Длина, сложность, срок жизни пароля, история | Не делай политику слишком жесткой, иначе люди начнут записывать пароли |
| Account Lockout | Блокировка при подборе пароля | Обычно 5-10 ошибок и 15-30 минут блокировки - но смотри по своей среде |
| Local Admins | Контроль локальных админов | Не держи обычных пользователей в local Administrators |
| Windows Firewall | Правила для RDP, SMB, WinRM, WMI | Разрешай порты только из нужных подсетей |
| Audit Policy | Входы, ошибки входа, доступ к объектам | Логи нужны не для галочки, а для расследования |
gpupdate /force
gpresult /r
gpresult /h C:/Temp/gpo-report.html
rsop.msc
Get-GPO -All
Get-GPResultantSetOfPolicy -ReportType Html -Path C:/Temp/rsop.htmlКогда что-то сломалось, не надо метаться. Иди по четкому маршруту.
Проверь DNS на клиенте, время, доступность DC, SRV-записи и права учетки join.
Проверь SMB-доступ, DNS-имя, share permissions, NTFS permissions, состав групп и кэш учетных данных.
Проверь OU, Security Filtering, WMI Filter, Block Inheritance, Enforced, а потом смотри gpresult /h.
Проверь CPU, RAM, disk queue, свободное место, антивирус, журналы System/Application и сеть.
Проверь forwarders, зоны, reverse lookup zone, регистрацию записей и команду Resolve-DnsName.
Проверь свободную RAM, пути VHDX, checkpoints, состояние Hyper-V services и события Hyper-V-VMMS.
ipconfig /all
ping dc01.corp.local
nslookup corp.local
nltest /dsgetdc:corp.local
dcdiag /test:dns /v
repadmin /replsummary
gpresult /r
Get-WinEvent -FilterHashtable @{LogName='System';Level=2} -MaxEvents 20
Get-Volume
Get-Service | Where-Object Status -ne RunningВот эти вещи кажутся мелочами, но именно они отделяют нормальную инфру от помойки.
Пиши, кто, когда и что менял: GPO, DNS, DHCP, firewall, права, Hyper-V, backup. Без этого поиск причин - ад.
Default Domain Policy и Default Domain Controllers Policy не надо забивать всем подряд. Делай отдельные GPO.
Domain Controller не должен быть файловым сервером, терминалом и экспериментальной площадкой.
Если ты не восстанавливал копию, ты не знаешь, работает она или нет.
Это плохая привычка. Отдели рабочую учетку от админской, используй least privilege.
DC01, FS01, HV01, APP01 лучше, чем Server-New-2. По имени должно быть понятно, что это за узел.
Держи домен чистым, права - минимальными, DNS - исправным, backup - проверенным, а PowerShell - под рукой.
Вернуться наверх