Skip to content
VDS · Windows Server

Віддалене керування без RDP: PowerShell

Як керувати машиною з Windows Server командами: WinRM, PowerShell через SSH, безпечне налаштування та що робити, коли графічна сесія недоступна.

Оновлено 23 серпня 2026 р.

RDP зручний, але потребує пропускної здатності, графічного інтерфейсу та відкритого порту. Для рутинних завдань — оновлень, перезапуску служб, перегляду логів — командний рядок швидший і безпечніший: один рядок замість трьох хвилин кліків.

Варіант перший: PowerShell через SSH

Windows Server 2022 і 2025 постачаються з вбудованим сервером OpenSSH. Це найпростіший шлях, особливо якщо ви вже працюєте з ключами.

Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service sshd -StartupType Automatic
New-NetFirewallRule -DisplayName "SSH" -Direction Inbound -Protocol TCP -LocalPort 22 `
  -RemoteAddress 203.0.113.5 -Action Allow

Зробіть PowerShell оболонкою за замовчуванням:

New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell `
  -Value "C:\Program Files\PowerShell\7\pwsh.exe" -PropertyType String -Force

Ключ для входу кладеться в C:\Users\<name>\.ssh\authorized_keys, а для адміністраторів — у C:\ProgramData\ssh\administrators_authorized_keys з правами лише для SYSTEM і групи Administrators, інакше сервер його проігнорує. Після цього вимкніть вхід за паролем у C:\ProgramData\ssh\sshd_config (PasswordAuthentication no) і перезапустіть службу.

Підключення стандартне:

ssh Administrator@YOUR_ADDRESS

Варіант другий: WinRM

Рідний механізм Windows. Порт 5985 (HTTP) або 5986 (HTTPS).

Enable-PSRemoting -Force
Set-NetFirewallRule -Name WINRM-HTTP-In-TCP -RemoteAddress 203.0.113.5

Ніколи не відкривайте незашифрований 5985 в інтернет. Правильний підхід — слухач HTTPS із сертифікатом:

$c = New-SelfSignedCertificate -DnsName "vds.example.ru" -CertStoreLocation Cert:\LocalMachine\My
New-Item -Path WSMan:\Localhost\Listener -Transport HTTPS -Address * -CertificateThumbPrint $c.Thumbprint -Force
New-NetFirewallRule -DisplayName "WinRM HTTPS" -Direction Inbound -Protocol TCP -LocalPort 5986 `
  -RemoteAddress 203.0.113.5 -Action Allow

Робота з іншої машини Windows:

$s = New-PSSession -ComputerName vds.example.ru -UseSSL -Credential (Get-Credential)
Invoke-Command -Session $s { Get-Service | Where-Object Status -eq Running | Select-Object -First 10 }
Enter-PSSession $s

Що зручно робити командами

Restart-Service W3SVC                        # restart IIS
Get-WinEvent -LogName System -MaxEvents 20   # latest events
Get-Process | Sort-Object WS -Desc | Select-Object -First 10 Name, WS
Get-Volume | Select-Object DriveLetter, SizeRemaining
Restart-Computer -Force

Оновлення також можна встановлювати без графічного інтерфейсу, дивіться Оновлення Windows Server.

Аварійний доступ

Якщо RDP, SSH і WinRM усі не відповідають, залишається вкладка «Console» у панелі за адресою /hosting/vds/m/<id> у режимі «Screen» (VNC). Вона підключається до машини як монітор і працює незалежно від мережевих налаштувань усередині ОС. Текстова консоль через послідовний порт для Windows сенсу не має.

Типові помилки

  • Відкриття 5985 на весь інтернет. Це керування машиною через незашифрований канал. Завжди обмежуйте адреси та віддавайте перевагу HTTPS.
  • Неправильні права на administrators_authorized_keys. Сервер OpenSSH мовчки ігнорує файл, у який можуть писати інші. Виправте це: icacls з вимкненим успадкуванням для всіх, крім SYSTEM і Administrators.
  • Правило створено в неправильному мережевому профілі. Перевірте активний профіль: Get-NetConnectionProfile.
  • Забуття про NLA і паролі під час вимкнення RDP. Перш ніж вимикати RDP, переконайтеся, що альтернативний доступ працює.

Візьміть за звичку записувати команди налаштування у файл. Перевстановлення ОС на вкладці «Access» займає хвилини, а відновлення налаштувань із пам'яті — години.