无需 RDP 的远程管理:PowerShell
如何用命令管理 Windows Server 机器:WinRM、通过 SSH 使用 PowerShell、安全配置,以及图形会话不可用时该怎么办。
更新于 2026年8月23日
RDP 虽然方便,但需要带宽、图形界面和开放端口。对于日常任务——更新、重启服务、查看日志——命令行更快也更安全:一行命令,胜过三分钟的点击。
方案一:通过 SSH 使用 PowerShell
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 设为默认 shell:
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 全部无响应,面板中 /hosting/vds/m/<id> 的“控制台”标签页在“Screen”模式(VNC)下仍然可用。它像显示器一样连接到机器,并且独立于操作系统内部的网络设置。对于 Windows 来说,通过串行端口的文本控制台没有意义。
常见错误
- 将 5985 开放给整个互联网。 这相当于通过未加密通道管理机器。务必限制地址范围,并优先使用 HTTPS。
administrators_authorized_keys权限错误。 OpenSSH 服务器会静默忽略其他用户可写入的文件。修复方法:使用icacls为除 SYSTEM 和 Administrators 之外的所有人禁用继承。- 规则创建在了错误的网络配置文件中。 检查活动配置文件:
Get-NetConnectionProfile。 - 禁用 RDP 时忘记 NLA 和密码。 在禁用 RDP 之前,请确保替代访问方式可用。
养成将配置命令写入文件的习惯。在“访问”标签页重装操作系统只需几分钟,而凭记忆恢复设置却要花费数小时。