[記事公開日]2025/10/31
🔐 winrm/winrsコマンドの使い方|Windowsリモート管理の設定とコマンド実行方法
もくじ
はじめに
Windows環境でリモートからコマンドを実行したり、サーバーの設定を遠隔で管理したい場合に利用されるのが WinRM(Windows Remote Management) と WinRS(Windows Remote Shell) です。
これらを操作するためのコマンドが、それぞれ winrm と winrs になります。
winrm は通信の設定やサービス管理、winrs は実際のリモートコマンド実行に使用されます。
この記事では、両者の基本構成から設定方法、セキュリティ上の注意点までを詳しく解説します。
🛠 winrm/winrsコマンドとは?
| コマンド | 役割 | 主な用途 |
|---|---|---|
| winrm | Windowsリモート管理(WinRM)の設定や状態確認を行う | リモート通信の構成、ファイアウォール設定、認証設定など |
| winrs | WinRMプロトコルを利用してリモートコマンドを実行する | 遠隔PCでのコマンド実行、スクリプト操作 |
WinRMは、Microsoftが定義した WS-Managementプロトコル(Web Services for Management) に基づく通信方式です。
PowerShellリモート機能(Enter-PSSession や Invoke-Command)の基盤としても利用されています。
📌 基本的な使い方
WinRMの状態を確認
winrm quickconfig
WinRMサービスが有効かどうかを確認し、有効でなければ設定を案内してくれます。
WinRMの有効化
winrm quickconfig -q
ファイアウォール設定を自動で調整し、WinRMサービスを有効化します。
リモートPCでコマンドを実行(WinRS)
winrs -r:192.168.1.10 ipconfig
指定したリモートPCのIPアドレスを指定し、ipconfig コマンドを実行します。
⚙️ WinRMの主な設定項目
| 設定項目 | コマンド例 | 説明 |
|---|---|---|
| リスナー作成 | winrm create winrm/config/Listener?Address=*+Transport=HTTP |
HTTP接続用のリスナーを作成 |
| HTTPS通信設定 | winrm create winrm/config/Listener?Address=*+Transport=HTTPS |
SSL証明書を使った暗号化通信を有効化 |
| サービス設定確認 | winrm get winrm/config/service |
現在のリモート管理サービス設定を表示 |
| 認証方式設定 | winrm set winrm/config/service/Auth @{Basic="true"} |
Basic認証の有効化(安全な環境でのみ推奨) |
| タイムアウト設定 | winrm set winrm/config @{MaxTimeoutms="1800000"} |
タイムアウト値を変更 |
🔍 WinRSの主な使用例
| 用途 | コマンド例 | 説明 |
|---|---|---|
| リモートで単一コマンドを実行 | winrs -r:SERVER1 systeminfo |
リモートマシンでシステム情報を取得 |
| 管理者権限で実行 | winrs -r:SERVER1 -u:Administrator -p:Password123 ipconfig /all |
指定ユーザーで認証付き接続 |
| PowerShellコマンドを実行 | winrs -r:192.168.1.10 powershell Get-Process |
リモート側でPowerShellを呼び出し |
| コマンド出力をファイルに保存 | winrs -r:SERVER1 dir > result.txt |
出力をローカルにリダイレクト |
⚠️ 注意点
| 注意点 | 説明 |
|---|---|
| 管理者権限が必要 | WinRMを有効化・構成するには管理者として実行が必要 |
| ファイアウォールの設定に注意 | TCPポート5985(HTTP)または5986(HTTPS)が開放されている必要あり |
| 同一ネットワークでの信頼関係 | ドメイン外のPC間では追加の認証設定が必要 |
| Basic認証は暗号化通信でのみ使用 | HTTPS環境でない場合は資格情報が平文で送信されるリスクあり |
| IPv6環境では動作が異なる場合あり | 明示的にアドレス指定が必要になるケースがあります |
🧠 補足
winrm は通信設定を整えるツール、winrs は実際に遠隔実行を行うツールです。
この2つを正しく組み合わせることで、PowerShellリモート管理やスクリプトによる自動運用がスムーズになります。
📊 まとめ表
| 操作内容 | コマンド例 | 説明 |
|---|---|---|
| WinRMの状態確認 | winrm quickconfig |
リモート管理の有効・無効を確認 |
| WinRMを有効化 | winrm quickconfig -q |
管理サービスを自動設定 |
| HTTPS接続リスナー作成 | winrm create winrm/config/Listener?Address=*+Transport=HTTPS |
暗号化通信設定 |
| リモートコマンド実行 | winrs -r:192.168.1.10 ipconfig |
他PCでコマンド実行 |
🔗 関連記事
-
⚙️ schtasksコマンドで定期実行タスクを作成する方法
-
🌐 net useコマンドでネットワークドライブを管理する方法
➡️ 同カテゴリ記事リスト
- 🔐 winrm/winrsコマンドの使い方|Windowsリモート管理の設定とコマンド実行方法
- 📂 tftpコマンドの使い方|シンプルなファイル転送を行う方法と注意点
- 👤 fingerコマンドの使い方|ユーザー情報取得とその歴史的背景
- 🌐 tracertコマンドの使い方|通信経路を追跡してネットワークトラブルを特定する方法
- 🌐 telnetコマンドの使い方|ポート接続確認とネットワーク診断に活用する方法
- 🌐 routeコマンドの使い方|ルーティングテーブルの表示と編集で通信経路を制御する方法
- 🌐 pingコマンドの使い方|ネットワーク通信の基本確認と活用方法
- 🌐 pathpingコマンドの使い方|経路遅延とパケットロスを詳細に測定する方法
- 🌐 nslookupコマンドの使い方|DNS確認とトラブル解決に役立つ使い方
- 🌐 netstatコマンドの使い方|通信状態を確認して不審な接続やネットワークトラブルを調べる方法
さいごに
winrm/winrs コマンドは、Windowsにおけるリモート管理の中核を担うツールです。
サーバー管理やスクリプト自動化を行う際、これらを理解しておくとリモート操作の幅が大きく広がります。
セキュリティ設定や通信ポートを適切に管理し、安全な遠隔運用を実現しましょう。
