Windows リモート管理のインストールと構成
Windows リモート管理 (WinRM) スクリプトを実行し、Winrm コマンドライン ツールでデータ操作を実行するには、WinRM のインストールと構成を両方とも実行する必要があります。
次の要素は、WinRM 構成にも依存します。
- Windows リモート シェルのコマンドライン ツール、Winrs。
- イベント転送。
- Windows PowerShell 2.0 のリモート処理。
WinRM のインストール場所
WinRM は、現在サポートされているすべてのバージョンの Windows オペレーティング システムと共に自動的にインストールされます。
WinRM と IPMI の構成
次の WinRM および Intelligent Platform Management Interface (IPMI) WMI プロバイダー コンポーネントは、オペレーティング システムと共にインストールされます。
- WinRM サービスは、Windows Server 2008 以降で自動的に開始されます。 以前のバージョンの Windows (クライアントまたはサーバー) では、サービスを手動で開始する必要があります。
- 既定では、WinRM リスナーは構成されません。 WinRM サービスが実行されている場合でも、データを要求する WS-Management プロトコル メッセージを受信または送信することはできません。
- インターネット接続ファイアウォール (ICF) は、ポートへのアクセスをブロックします。
winrm
コマンドを使用し、コマンド プロンプトで次のコマンドを入力してリスナーとアドレスを検索します。
winrm enumerate winrm/config/listener
構成設定の状態を確認するには、次のコマンドを入力します。
winrm get winrm/config
既定のクイック構成
ローカルコンピューターで WS-Management プロトコルを有効にし、コマンド winrm quickconfig
を使用してリモート管理の既定の構成をセットアップします。
winrm quickconfig
コマンド (winrm qc
に省略可能) は、次の操作を実行します。
- WinRM サービスを開始し、サービスのスタートアップの種類を auto-start に設定します。
- 任意の IP アドレスで HTTP または HTTPS を使用して、WS-Management プロトコル メッセージを送受信するポート用リスナーを構成します。
- WinRM サービスの ICF 例外を定義し、HTTP および HTTPS のポートを開きます。
Note
コマンド winrm quickconfig
は、現在のユーザー プロファイルに対してのみファイアウォールの例外を作成します。 何らかの理由でファイアウォール プロファイルが変更された場合は、ファイアウォールの例外を有効にするために、winrm quickconfig
を実行します (そうしなければ、例外が有効にならない可能性があります)。
構成のカスタマイズに関する情報を取得するには、コマンド プロンプトで次のコマンドを入力します。
winrm help config
既定の設定で WinRM を構成するには
ローカル コンピューターの管理者アカウントとして実行されているコマンド プロンプトで、次のコマンドを実行します。
winrm quickconfig
ローカル コンピューターの管理者として実行していない場合は、スタート メニューから [管理者として実行] を選択するか、コマンド プロンプトで
Runas
コマンドを使用します。ツールで [これらの変更を行いますか [y/n]?] と表示されたら、「y」と入力します。
構成が成功すると、次の出力が表示されます。
WinRM has been updated for remote management. WinRM service type changed to delayed auto start. WinRM service started. Created a WinRM listener on https://* to accept WS-Man requests to any IP on this machine.
WinRM のクライアント コンポーネントとサーバー コンポーネントの既定の設定をそのまま使用するか、カスタマイズします。 たとえば、クライアント構成
TrustedHosts
一覧に特定のリモート コンピューターを追加する必要がある場合があります。相互認証を確立できない場合は、信頼できるホスト一覧を設定します。 Kerberos では相互認証が可能です、ワークグループでは使用できません。ドメインのみです。 ワークグループに信頼できるホストを設定する場合のベスト プラクティスは、リストを可能な限り制限することです。
次のコマンドを入力して HTTPS リスナーを作成します。
winrm quickconfig -transport:https
Note
HTTPS トランスポートが機能するようにポート 5986 を開きます。
リスナーと WS-Management プロトコルの既定の設定
リスナー構成を取得するには、コマンド プロンプトで「winrm enumerate winrm/config/listener
」と入力します。 リスナーは、トランスポート (HTTP または HTTPS) と IPv4 または IPv6 アドレスによって定義されます。
winrm quickconfig
コマンドは、リスナーに対して次の既定の設定を作成します。 リスナーは複数作成できます。 詳細を確認するには、コマンド プロンプトで「winrm help config
」と入力してください。
番地
このリスナーが作成されるアドレスを指定します。
トランスポート
WS-Management プロトコルの要求と応答を送受信するためのトランスポートを指定します。 値は HTTP または HTTPS のいずれかでなければなりません。 既定値は HTTP です。
ポート
このリスナーが作成された TCP ポートを指定します。
WinRM 2.0: 既定の HTTP ポートは 5985 です。
hostname
WinRMサービスが実行されているコンピューターのホスト名を指定します。 値は完全修飾ドメイン名、または IPv4 もしくは IPv6 のリテラル文字列、またはワイルドカード文字のいずれかにする必要があります。
Enabled
リスナーが有効であるか、無効であるかを指定します。 デフォルト値は True です。
URLPrefix
HTTP 要求または HTTPS 要求を受け入れる URL プレフィックスを指定します。 この文字列で使用できるのは、a から z、A から Z、9 から 0、アンダースコア (_)、スラッシュ (/) のみです。 文字列の先頭と末尾をスラッシュ (/) にすることはできません。 たとえば、コンピューター名が SampleMachine の場合、WinRM クライアントは宛先アドレスに https://SampleMachine/<URLPrefix>
を指定します。 既定の URL プレフィックスは wsman
です。
CertificateThumbprint
サービス証明書の拇印を指定します。 この値は、証明書の Thumbprint フィールドにある 2 桁の 16 進数の値の文字列を表します。 この文字列には証明書の SHA-1 ハッシュが含まれています。 証明書は、クライアント証明書ベースの認証で使用されます。 証明書は、ローカル ユーザー アカウントにのみマップできます。 証明書はドメイン アカウントでは機能しません。
ListeningOn
リスナーが使用する IPv4 アドレスと IPv6 アドレスを指定します。 たとえば、111.0.0.1, 111.222.333.444, ::1, 1000:2000:2c:3:c19:9ec8:a715:5e24, 3ffe:8311:ffff:f70f:0:5efe:111.222.333.444, fe80::5efe:111.222.333.444%8, fe80::c19:9ec8:a715:5e24%6
のようにします。
プロトコルの既定の設定
MaxEnvelopeSizekb や SoapTraceEnabled などの構成設定の多くは、WinRM クライアントおよびサーバー コンポーネントと WS-Management プロトコルの対話方法を決定します。 次のセクションでは、利用できる構成設定について説明します。
MaxEnvelopeSizekb
簡易オブジェクト アクセス プロトコル (SOAP) の最大データをキロバイト単位で指定します。 既定値は 150 KB です。
Note
MaxEnvelopeSizekb が 1039440 よりも大きい値に設定されている場合、動作はサポートされません。
MaxTimeoutms
Pull
要求以外の要求に使用できる最大タイムアウト (ミリ秒単位) を指定します。 既定値は 60000 です。
MaxBatchItems
Pull
レスポンスで使用できる要素の最大数を指定します。 既定値は 32000 です。
MaxProviderRequests
サービスで許可される同時要求の最大数を指定します。 既定値は 25 です。
WinRM 2.0: この設定は非推奨であり、読み取り専用に設定されています。
WinRM クライアントの既定の構成設定
WinRM のクライアント バージョンには、次の既定の構成設定があります。
NetworkDelayms
ネットワーク遅延時間としてクライアント コンピューターが待機する延長時間をミリ秒で指定します。 既定値は 5000 ミリ秒です。
URLPrefix
HTTP 要求または HTTPS 要求を受け入れる URL プレフィックスを指定します。 既定の URL プレフィックスは wsman です。
AllowUnencrypted
暗号化されていないトラフィックの要求をクライアント コンピューターに許可します。 既定では、クライアント コンピューターには暗号化されたネットワーク トラフィックが必要であるため、この設定は False になります。
基本
Basic 認証の使用をクライアント コンピューターに許可します。 Basic 認証はユーザー名とパスワードが平文でサーバーまたはプロキシに送信されるスキームです。 この手法は最も安全性が低い認証方法です。 既定値は Trueです。
Digest
Digest 認証の使用をクライアントに許可します。 Digest 認証はサーバーで指定されたデータ文字列をチャレンジで使用するチャレンジ/レスポンス スキームです。 クライアント コンピューターだけが Digest 認証要求を開始できます。
クライアント コンピューターは認証要求をサーバーに送信し、サーバーからトークン文字列を受け取ります。 次に、クライアント コンピューターは、ユーザー名、およびトークン文字列と組み合わせたパスワードの暗号化ハッシュを含むリソース要求を送信します。
Digest 認証は HTTP と HTTPS でサポートされます。 WinRM シェルのクライアントのスクリプトとアプリケーションではダイジェスト認証を指定できますが、WinRM サービスはダイジェスト認証を受け入れていません。 既定値は、True
です。
Note
HTTP のダイジェスト認証は安全であるとはみなされません。
証明書
クライアント証明書ベースの認証の使用をクライアントに許可します。 証明書ベースの認証は、サーバーが X509 証明書によって識別されるクライアントを認証するスキームです。 既定値は Trueです。
Kerberos
Kerberos 認証の使用をクライアントに許可します。 Kerberos 認証は、クライアントとサーバーが Kerberos 証明書を利用して互いに認証するスキームです。 既定値は Trueです。
ネゴシエート
ネゴシエート認証の使用をクライアントに許可します。 Negotiate 認証は、クライアントがサーバーに要求を送信して認証するスキームです。
Kerberos プロトコルまたは NT LAN Manager (NTLM) のどちらを使用するかは、サーバーが決定します。 ドメイン アカウントを認証するために Kerberos プロトコルが選択されています。 NTLM は、ローカル コンピューター アカウントに対して選択されます。 ドメイン ユーザーのユーザー名は、domain\user_name 形式で指定する必要があります。 サーバー コンピューター上のローカル ユーザーのユーザー名は、server_name\user_name 形式で指定する必要があります。 既定値は、True
です。
CredSSP
Credential Security Support Provider (CredSSP) 認証の使用をクライアントに許可します。 CredSSP を使用すると、アプリケーションはユーザーの資格情報をクライアント コンピューターからターゲット サーバーに委任できます。 既定値は、False
です。
DefaultPorts
クライアントが HTTP または HTTPS に使用するポートを指定します。
WinRM 2.0: 既定の HTTP ポートは 5985 で、既定の HTTPS ポートは 5986 です。
TrustedHosts
信頼できるリモート コンピューターの一覧を指定します。 ワークグループ内の他のコンピューター、または別のドメイン内のコンピューターをこの一覧に追加する必要があります。
Note
信頼できるホスト一覧に含まれるコンピューターは認証されません。 クライアントは、そうしたコンピューターに資格情報を送信する場合があります。
信頼できるホストに IPv6 アドレスが指定されている場合は、次の Winrm
ユーティリティ コマンドで示されているように、アドレスを角かっこで囲む必要があります。
winrm set winrm/config/client '@{TrustedHosts ="[0:0:0:0:0:0:0:0]"}'
コンピューターを TrustedHosts
リストに追加する方法の詳細を確認するには、「winrm help config
」と入力します。
WinRM サービスの既定の構成設定
WinRM のサービス バージョンには、次の既定の構成設定があります。
RootSDDL
リスナーへのリモート アクセスを制御するセキュリティ記述子を指定します。 既定値は、O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;ER)S:P(AU;FA;GA;;;WD)(AU;SA;GWGX;;;WD)
です。
MaxConcurrentOperations
同時操作の最大数です。 既定値は、100 です。
WinRM 2.0: MaxConcurrentOperations
設定は非推奨であり、読み取り専用に設定されています。 この設定は、MaxConcurrentOperationsPerUser
に置き換えられました。
MaxConcurrentOperationsPerUser
任意のユーザーが同じシステムでリモートで開くことができる同時操作の最大数を指定します。 既定は 1500 です。
EnumerationTimeoutms
Pull
メッセージ間のアイドル タイムアウトをミリ秒単位で指定します。 既定値は 60000 です。
MaxConnections
サービスが同時に処理できるアクティブな要求の最大数を指定します。 既定値は 300 です。
WinRM 2.0: 既定値は 25 です。
MaxPacketRetrievalTimeSeconds
WinRM サービスがパケットの取得に要する最大時間を秒単位で指定します。 既定値は 120 秒です。
AllowUnencrypted
暗号化されていないトラフィックの要求をクライアント コンピューターに許可します。 既定値は、False
です。
基本
基本認証の使用を WinRM サービスに許可します。 既定値は、False
です。
証明書
クライアント証明書ベースの認証の使用を WinRM サービスに許可します。 既定値は、False
です。
Kerberos
Kerberos 認証の使用を WinRM サービスに許可します。 既定値は、True
です。
ネゴシエート
ネゴシエート認証の使用を WinRM サービスに許可します。 既定値は、True
です。
CredSSP
Credential Security Support Provider (CredSSP) 認証の使用を WinRM サービスに許可します。 既定値は、False
です。
CbtHardeningLevel
認証要求でチャネル バインディング トークン要件のポリシーを設定します。 既定値は Relaxed です。
DefaultPorts
WinRM サービスが HTTP または HTTPS に使用するポートを指定します。
WinRM 2.0: 既定の HTTP ポートは 5985 です。 既定の HTTPS ポートは 5986 です。
IPv4Filter と IPv6Filter
リスナーが使用できる IPv4 アドレスまたは IPv6 アドレスを指定します。 既定値は IPv4Filter = *
および IPv6Filter = *
です。
- IPv4: IPv4 リテラル文字列は、それぞれ 0 から 255 の範囲の 4 つのドット付き 10 進数で構成されます。 例: 192.168.0.0
- IPv6: IPv6 リテラル文字列は、角かっこで囲まれており、コロンで区切られた 16 進数が含まれています。 例: [::1] または [3ffe:ffff::6ECB:0101]。
EnableCompatibilityHttpListener
互換性 HTTP リスナーが有効かどうかを指定します。 この設定が True
の場合、リスナーはポート 5985 に加えてポート 80 でリッスンします。 既定値は、False
です。
EnableCompatibilityHttpsListener
互換性 HTTPS リスナーが有効かどうかを指定します。 この設定が True
の場合、リスナーはポート 5986 に加えてポート 443 でリッスンします。 既定値は、False
です。
Winrs の既定の構成設定
winrm quickconfig
コマンドでは、Winrs の既定の設定も構成されます。
AllowRemoteShellAccess
リモート シェルへのアクセスが有効になります。 このパラメーターを False
に設定すると、サーバーはサーバーによる新しいリモート シェル接続を拒否します。 既定値は、True
です。
IdleTimeout
リモート シェルでユーザーによる操作がない場合に、リモート シェルがオープンの状態を維持する最大時間をミリ秒単位で指定します。 その時間を過ぎると、リモート シェルは削除されます。
WinRM 2.0: 既定値は 180000 です。 最小値は 60000 です。 この値を 60000 未満に設定しても、タイムアウト動作には影響しません。
MaxConcurrentUsers
リモート シェルを利用し、同じコンピューターでリモート操作を同時に実行できるユーザーの最大数を指定します。 新しいリモート シェル接続が制限を超えると、コンピューターは接続を拒否します。 既定値は 5 です。
MaxShellRunTime
リモート コマンドまたはスクリプトの実行が許可される最大時間をミリ秒単位で指定します。 既定値は 28800000 です。
WinRM 2.0: MaxShellRunTime
設定は読み取り専用に設定されています。 MaxShellRunTime
の値を変更しても、リモート シェルには影響しません。
MaxProcessesPerShell
シェル操作で起動できるプロセスの最大数を指定します。 値が 0 の場合、プロセスの数は無制限になります。 既定値は 15 です。
MaxMemoryPerShellMB
シェルの子プロセスを含め、シェルごとに割り当てられるメモリの最大量を指定します。 既定値は 150 MB です。
MaxShellsPerUser
任意のユーザーが同じコンピューターでリモートで開くことができる同時シェルの最大数を指定します。 このポリシー設定が有効になっている場合に、数が指定した制限を超えると、ユーザーは新しいリモート シェルを開くことができません。 このポリシー設定が無効になっているか、構成されていない場合、制限は既定でユーザーあたり 5 つのリモート シェルに設定されます。
グループ ポリシーを使った WinRm の構成
グループ ポリシー エディターを使用して、企業内のコンピューター用に Windows リモート シェルと WinRM を構成します。
グループ ポリシーを使用して構成するには:
- 管理者としてコマンド プロンプト ウィンドウを開きます。
- コマンド プロンプトで、「
gpedit.msc
」と入力します。 [グループ ポリシー オブジェクト エディター] ウィンドウが開きます。 - Computer Configuration\Administrative Templates\Windows Components で、[Windows リモート管理] と [Windows リモート シェル] のグループ ポリシー オブジェクト (GPO) を見つけます。
- [拡張] タブで、設定を選択して説明を表示します。 設定をダブルクリックして編集します。
Windows ファイアウォールと WinRM 2.0 ポート
WinRM 2.0 以降、Winrm quickconfig
によって構成される既定のリスナー ポートは、HTTP トランスポートの場合はポート 5985、HTTPS の場合はポート 5986 です。 WinRM リスナーは、任意のポートで構成できます。
コンピューターを WinRM 2.0 にアップグレードすると、以前に構成されたリスナーは移行されますが、それまでどおりにトラフィックは受信されます。
WinRM のインストールと構成に関する注意事項
WinRM は、他のサービス (WinHttp
を除く) に依存しません。 IIS 管理サービスが同じコンピューターにインストールされている場合は、インターネット インフォメーション サービス (IIS) の前に WinRM を読み込めなかったことを示すメッセージが表示されることがあります。 ただし、WinRM は実際には IIS に依存しません。 これらのメッセージが表示されるのは、読み込み順序によって、HTTP サービスの前に IIS サービスが確実に開始されるためです。 WinRM では、WinHTTP.dll
が登録されている必要があります。
ISA2004 ファイアウォール クライアントがコンピューターにインストールされている場合、Web Services for Management (WS-Management) クライアントが応答を停止する可能性があります。 この問題を回避するには、ISA2004 ファイアウォール SP1 をインストールします。
異なる IP アドレスを持つ 2 つのリスナー サービスが、同じポート番号とコンピューター名を使用して構成されている場合、WinRM は 1 つのアドレスでのみメッセージをリッスンまたは受信します。 WS-Management プロトコルで使用される URL プレフィックスが同じであるため、このアプローチが使用されます。
IPMI ドライバーとプロバイダーのインストールに関する注意事項
ドライバーは、Microsoft 以外の IPMI ドライバーの存在を検出しない可能性があります。 ドライバーが起動に失敗した場合は、場合によってはドライバーを無効にする必要があります。
ベースボード管理コントローラー (BMC) リソースがシステム BIOS に表示される場合、ACPI (プラグ アンド プレイ) は BMC ハードウェアを検出し、IPMI ドライバーを自動的にインストールします。 プラグ アンド プレイのサポートは、すべての BMC に存在しない場合があります。 BMC がプラグ アンド プレイによって検出されると、ハードウェア管理コンポーネントがインストールされる前に不明なデバイスがデバイス マネージャーに表示されます。 ドライバーがインストールされると、新しいコンポーネントである Microsoft ACPI 汎用 IPMI 準拠デバイスがデバイス マネージャーに表示されます。
システムが BMC の検出とドライバーのインストールを自動的に行わないものの、セットアップ プロセス中に BMC が検出された場合は、BMC デバイスを作成します。 デバイスを作成するには、コマンド プロンプトで次のコマンドを入力します。
Rundll32 ipmisetp.dll, AddTheDevice
このコマンドを実行すると、IPMI デバイスが作成され、デバイス マネージャーに表示されます。 ハードウェア管理コンポーネントをアンインストールすると、デバイスは削除されます。
詳細については、「ハードウェア管理の概要」を参照してください。
IPMI プロバイダーは、WMI の root\hardware namespace にハードウェア クラスを配置します。 ハードウェア クラスの詳細については、「IPMI プロバイダー」を参照してください。 WMI 名前空間の詳細については、「WMI アーキテクチャ」を参照してください。
WMI プラグインの構成に関する注意事項
Windows 8 および Windows Server 2012 以降、WMI プラグインは独自のセキュリティ構成を備えています。 管理者ではなく通常のユーザーまたはパワー ユーザーが WMI プラグインを使用できるようにするには、リスナーが構成された後で、そのユーザーのアクセスを有効にします。 次のいずれかの手順を使用して、WMI へのリモート アクセスをユーザーに設定します。
lusrmgr.msc
を実行して、[ローカル ユーザーとグループ] ウィンドウでユーザーを WinRMRemoteWMIUsers__ グループ追加します。Winrm コマンドライン ツールを使用して、WMI プラグインの名前空間のセキュリティ記述子を構成します。
winrm configSDDL http://schemas.microsoft.com/wbem/wsman/1/wmi/ WmiNamespace
ユーザー インターフェイスが表示されたら、ユーザーを追加します。
WMI へのリモート アクセスにユーザーを設定した後、WMI をセットアップしてプラグインへのアクセスをユーザーを許可する必要があります。 アクセスを許可するには、wmimgmt.msc を実行して、[WMI コントロール] ウィンドウでアクセスする名前空間の WMI セキュリティを変更します。
管理用の WMI クラスのほとんどは、root\cimv2 namespace にあります。