Skip to content
VDS · Windows Server

RDPなしのリモート管理:PowerShell

コマンドによるWindows Serverマシンの管理方法として、WinRM、SSH経由のPowerShell、安全な設定、グラフィカルセッションが利用できない場合の対処を解説します。

更新日 2026年8月23日

RDPは便利ですが、帯域幅、GUI、開いているポートが必要です。定期的なタスク——アップデート、サービスの再起動、ログの確認——には、コマンドラインのほうが速くて安全です。3分間のクリック作業が1行で済みます。

方法1: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をデフォルトシェルに設定します:

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

方法2: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

アップデートもGUIなしでインストールできます。詳しくはWindows Serverのアップデートをご覧ください。

緊急時のアクセス

RDP、SSH、WinRMがすべて応答しない場合は、パネルの/hosting/vds/m/<id>にある「コンソール」タブの「Screen」モード(VNC)が残っています。これはモニターのようにマシンに接続し、OS内部のネットワーク設定に依存せずに動作します。シリアルポート経由のテキストコンソールはWindowsでは意味がありません。

よくある間違い

  • 5985をインターネット全体に公開する。 これは暗号化されていないチャネルでのマシン管理です。常にアドレスを制限し、HTTPSを優先してください。
  • administrators_authorized_keysのアクセス許可が間違っている。 OpenSSHサーバーは、他のユーザーが書き込めるファイルを黙って無視します。修正方法:icaclsでSYSTEMとAdministrators以外の継承を無効にします。
  • ルールを間違ったネットワークプロファイルで作成した。 アクティブなプロファイルを確認してください:Get-NetConnectionProfile。
  • RDPを無効化する際にNLAとパスワードを忘れる。 RDPを無効化する前に、代替アクセスが機能することを確認してください。

セットアップコマンドをファイルに書き留める習慣をつけましょう。「アクセス」タブでのOS再インストールは数分で済みますが、設定を記憶から復元するには数時間かかります。