Windows Server 2025 принёс обновлённый PowerShell. Устаревший движок 2.0 удалён, WinGet ставится из коробки в редакциях с Desktop Experience, Windows Terminal входит в комплект, а новые cmdlet'ы покрывают разделение GPU и SMB over QUIC во всех редакциях. Эта шпаргалка собирает команды, которыми мы пользуемся ежедневно. Структура по категориям, акцент на новинки 2025.
PowerShell в Windows Server 2025: что изменилось
Windows PowerShell 5.1 остаётся shell'ом по умолчанию в Windows Server 2025 и предустановлен. Главная новость это удаление устаревшего движка Windows PowerShell 2.0. После сентябрьского апдейта 2025 года скрипты, которые явно запрашивают -Version 2, теперь откатываются на текущий runtime, обычно 5.1. Любой инсталлятор или планировщик задач, зависевший от движка 2.0, требует обновления.
PowerShell 7.x ставится отдельно, и Server 2025 упрощает установку до предела. WinGet поставляется с Desktop Experience SKU из коробки, поэтому свежий PowerShell ставится одной командой. В Server Core WinGet'а нет, там используем MSI или ZIP.
winget install --id Microsoft.PowerShell --source winget
Первая команда печатает версию движка и редакцию. Вторая ставит PowerShell 7 параллельно с 5.1, исполняемый файл получает имя pwsh.exe. Если нужна чистая площадка под Windows Server 2025, чтобы повторять команды без риска для прода, Windows VPS даёт свежий сервер за пару минут.
Информация о системе
Быстрая инвентаризация только что развёрнутого сервера 2025:
Get-CimInstance Win32_OperatingSystem |
Select-Object Caption, BuildNumber, LastBootUpTime
Rename-Computer -NewName "FS-01" -Restart
Get-ComputerInfo даёт развёрнутый снимок, хотя работает медленно. Get-CimInstance это современная замена легаси WMI. Rename-Computer с ключом -Restart сразу отправляет машину в перезагрузку.
Файлы, папки и содержимое
New-Item -Path C:\Backups -ItemType Directory
Copy-Item C:\Reports\report.pdf D:\Archive\ -Force
Remove-Item C:\Logs\*.bak -Confirm:$false
Get-Content C:\Logs\app.log -Tail 50 -Wait
Test-Path C:\Reports\Q4
Связка -Tail 50 -Wait ведёт себя как tail -f в Linux. Test-Path возвращает булево значение для проверок внутри скриптов.
Процессы и службы
Stop-Process -Name notepad -Force
Get-Service | Where-Object Status -eq "Running"
Restart-Service -Name Spooler -Force
Set-Service -Name BITS -StartupType Automatic
Set-Service -StartupType принимает значения Automatic, Manual, Disabled и AutomaticDelayedStart. Шаблон с Where-Object фильтрует службы и процессы по любому свойству.
Сеть и брандмауэр
Современные cmdlet'ы давно заменили мышечную память на netsh и ipconfig.
Get-NetAdapter | Where-Object Status -eq "Up"
Test-NetConnection -ComputerName fileserver.local -Port 445
Resolve-DnsName serverspace.kz
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound `
-Protocol TCP -LocalPort 80 -Action Allow
Test-NetConnection объединяет ping, tracert и проверку TCP-порта. Обратный апостроф служит символом переноса строки.
Пользователи, группы и Active Directory
Локальные учётки на standalone-сервере живут в модуле LocalAccounts, он предустановлен. Для домена модуль ActiveDirectory приходит с RSAT. В Server 2025 появился функциональный уровень Win2025: обязательное LDAP signing и шифрование, RC4 отключён в пользу AES, TLS 1.3 по умолчанию для трафика AD.
Add-LocalGroupMember -Group "Administrators" -Member "svc-backup"
Install-WindowsFeature -Name AD-Domain-Services -IncludeManagementTools
Install-ADDSForest -DomainName "corp.contoso.com" `
-ForestMode Win2025 -DomainMode Win2025
Get-ADUser -Filter * -Properties LastLogonDate
Get-ADDomainController -Filter *
Чтение пароля как secure string из приглашения избавляет от хранения пароля в открытом виде. Режим леса Win2025 включает новые умолчания по identity, поэтому задаём его явно при создании леса.
Роли, компоненты и WinGet
Install-WindowsFeature -Name Web-Server -IncludeManagementTools
Uninstall-WindowsFeature -Name Telnet-Client
winget search nodejs
winget install --id OpenJS.NodeJS.LTS
winget upgrade --all
Команда winget upgrade --all ближе всего по духу к apt upgrade в мире Windows Server. WinGet на сервере доступен только в редакции Desktop Experience, на Server Core используем Install-WindowsFeature.
Hyper-V и GPU Partitioning (новое в 2025)
Hyper-V в Server 2025 получил один из самых заметных апдейтов за всю историю выпуска. Масштаб поднялся до 4 ПБ оперативной памяти на хост, 240 ТБ на VM и 2 048 виртуальных процессоров на VM. GPU Partitioning теперь полноценно поддерживается, включая live migration в кластере.
New-VM -Name "WEB-01" -MemoryStartupBytes 4GB -Generation 2
Set-VMProcessor -VMName "WEB-01" -Count 4
Add-VMNetworkAdapter -VMName "WEB-01" -SwitchName "vSwitch01"
Start-VM -Name "WEB-01"
GPU partitioning делит один физический GPU между несколькими виртуалками через SR-IOV, каждая партиция изолирована аппаратно. Сначала задаём количество партиций на хосте, потом цепляем партицию к каждой VM.
Set-VMHostPartitionableGpu -Name $gpu.Name -PartitionCount 4
Add-VMGpuPartitionAdapter -VMName "AI-WORKER-01"
Get-VMGpuPartitionAdapter -VMName "AI-WORKER-01" |
Format-List InstancePath, PartitionId
Хосту требуется поддержка SR-IOV в прошивке, vGPU-драйверы вендора (NVIDIA vGPU 18.x и выше для live migration) и активная роль Hyper-V. Live migration виртуалок с GPU работает только на Server 2025 Datacenter в failover-кластере.
SMB Shares и SMB over QUIC (новое в 2025)
Раньше SMB over QUIC жил исключительно в Azure Edition. Server 2025 раздаёт его всем редакциям, включая Standard. QUIC поднимает шифрованный TLS 1.3 туннель поверх UDP/443, и теперь SMB-трафик обходится без открытого наружу TCP/445.
New-SmbShare -Name "Projects" -Path "D:\Data\Projects" `
-FullAccess "Domain\Admins"
$cert = Get-ChildItem Cert:\LocalMachine\My |
Where-Object Subject -Match "fileserver.contoso.com"
New-SmbServerCertificateMapping -Name "fileserver.contoso.com" `
-Thumbprint $cert.Thumbprint -StoreName My
Set-SmbServerConfiguration -EnableSMBQUIC $true
Grant-SmbClientAccessToServer -Name "fileserver" `
-IdentifierType SHA256 -Identifier $clientHash
Для QUIC нужен TLS-сертификат сервера в Cert:\LocalMachine\My. Client Access Control через Grant-SmbClientAccessToServer это свежая фича 2025 года: списки разрешённых клиентов по identity сертификата.
Удалённое управление и планировщик задач
Enter-PSSession -ComputerName SRV-DC01
Invoke-Command -ComputerName SRV-DC01 -ScriptBlock { Get-Service DNS }
$action = New-ScheduledTaskAction -Execute "PowerShell.exe" `
-Argument "-File C:\Scripts\Backup.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 2am
Register-ScheduledTask -TaskName "DailyBackup" `
-Action $action -Trigger $trigger -RunLevel Highest
Enable-PSRemoting настраивает WinRM и открывает брандмауэр одним заходом. Для разовых запросов быстрее Invoke-Command, для серии команд против одного сервера лучше New-PSSession. Флаг -RunLevel Highest запускает задачу с повышенными правами.
Краткий справочник команд
| Категория | Задача | Команда |
|---|---|---|
| Справка | Найти cmdlet | Get-Command *user* |
| Система | Версия и сборка ОС | Get-ComputerInfo |
| Файлы | Рекурсивный листинг | Get-ChildItem -Recurse |
| Процессы | Топ потребителей CPU | Get-Process | Sort CPU -desc |
| Службы | Перезапуск службы | Restart-Service Spooler |
| Сеть | Проверка порта | Test-NetConnection -Port 445 |
| Брандмауэр | Открыть входящий порт | New-NetFirewallRule ... |
| Пользователи | Добавить локального админа | Add-LocalGroupMember ... |
| AD | Создать лес (Win2025) | Install-ADDSForest -ForestMode Win2025 |
| Роли | Поставить IIS | Install-WindowsFeature Web-Server |
| Hyper-V | Создать VM | New-VM -Name ... |
| GPU-P (2025) | Прикрепить партицию | Add-VMGpuPartitionAdapter |
| SMB QUIC (2025) | Включить QUIC | Set-SmbServerConfiguration -EnableSMBQUIC $true |
| Удалённый запуск | Удалённая команда | Invoke-Command -ComputerName ... |
Типичные ошибки
Execution policy блокирует скрипты. По умолчанию на сервере стоит RemoteSigned, локально написанные скрипты отклоняются, пока область действия не поправлена через Set-ExecutionPolicy RemoteSigned -Scope LocalMachine. Алиасы вроде ls, cp, rm уместны в интерактиве, в коммитах используем полные имена cmdlet'ов. AD cmdlet'ы недоступны, пока не поставлен RSAT через Install-WindowsFeature RSAT-AD-PowerShell.
Заключение
Шпаргалка покрывает повседневные cmdlet'ы и главные новинки 2025: GPU partitioning, SMB over QUIC во всех редакциях, функциональный уровень Win2025, WinGet на сервере. Сохраните страницу в закладки, поставьте PowerShell 7 рядом с 5.1 и пересмотрите старые скрипты, где остались упоминания удалённого движка 2.0.