13.05.2026

Шпаргалка команд PowerShell для Windows Server 2025

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.

$PSVersionTable

winget install --id Microsoft.PowerShell --source winget

Первая команда печатает версию движка и редакцию. Вторая ставит PowerShell 7 параллельно с 5.1, исполняемый файл получает имя pwsh.exe. Если нужна чистая площадка под Windows Server 2025, чтобы повторять команды без риска для прода, Windows VPS даёт свежий сервер за пару минут.

Информация о системе

Быстрая инвентаризация только что развёрнутого сервера 2025:

Get-ComputerInfo | Select-Object WindowsProductName, OsVersion, CsName

Get-CimInstance Win32_OperatingSystem |

Select-Object Caption, BuildNumber, LastBootUpTime

Rename-Computer -NewName "FS-01" -Restart

Get-ComputerInfo даёт развёрнутый снимок, хотя работает медленно. Get-CimInstance это современная замена легаси WMI. Rename-Computer с ключом -Restart сразу отправляет машину в перезагрузку.

Файлы, папки и содержимое

Get-ChildItem -Path C:\Logs -Recurse -Filter *.log

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 возвращает булево значение для проверок внутри скриптов.

Процессы и службы

Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

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-NetIPAddress -AddressFamily IPv4

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.

New-LocalUser -Name "svc-backup" -Password (Read-Host -AsSecureString)

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

Get-WindowsFeature | Where-Object InstallState -eq "Installed"

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 в кластере.

Get-VM

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.

$gpu = Get-VMHostPartitionableGpu

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.

Install-WindowsFeature -Name FS-FileServer -IncludeManagementTools

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 сертификата.

Удалённое управление и планировщик задач

Enable-PSRemoting -Force

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.