PowerShell プロトコルとトラブルシューティング
PowerShell は、Windows Management Instrumentation (WMI) および Windows Remote Management (WinRM) プロトコルを使用して、オーケストレーションアクティビティがリモート Windows ホストでコマンドを実行できるようにします。
Windows Management Instrumentation (WMI)
WMI は、コンピュータ システム、ネットワーク、またはエンタープライズから管理データを取得するローカルやリモートのアプリケーションまたはスクリプトに対して、統一されたインターフェイスを提供します。WMI には次のコンポーネントが含まれます。
- 管理対象オブジェクトと WMI プロバイダー:WMI プロバイダーは、WMI の 1 つまたは複数の管理対象オブジェクトを監視する COM オブジェクトです。管理対象オブジェクトは、ハード ディスク ドライブ、ネットワーク アダプタ、データベース システム、オペレーティング システム、プロセス、サービスなどの論理的または物理的なエンタープライズ コンポーネントです。
- WMI インフラストラクチャ:WMI インフラストラクチャは、WMI サービス (winmgmt) とも呼ばれる Microsoft Windows オペレーティング システム コンポーネントです。WMI インフラストラクチャは WMI コアと WMI リポジトリで構成されています。WMI リポジトリは、WMI 名前空間によって編成されています。WMI サービスは、システム起動時に、root\default、root\cimv2、root\subscription などの名前空間を作成し、Win32 クラスや WMI システム クラスなどのクラス定義のデフォルト セットをプリインストールします。システム上に存在する残りの名前空間は、オペレーティング システムまたは製品の他の部分のプロバイダーによって作成されます。
- WMIのコンシューマ:WMI コンシューマは、WMI インフラストラクチャとやり取りする管理アプリケーションまたはスクリプトです。管理アプリケーションは、WMI の COM API またはスクリプト API のいずれかを呼び出して、クエリーを実行したり、データを列挙したり、プロバイダー メソッドを実行したり、イベントを登録したりすることができます。
WMI のインストールと構成
MID サーバーがターゲット ホストに対して正常にリモート接続するには、TCP ポート 135 を開けておく必要があります。Windows ファイアウォールは Windows Management Instrumentation (DCOM-In) と呼ばれる WMI 接続用の受信ルールを自動的に作成します。
Windows Remote Management (WinRM)
WinRM は、WS 管理プロトコル、さまざまなベンダーのハードウェアとオペレーティング システムが相互運用できるようにする標準の Simple Object Access Protocol (SOAP) プロトコルの Microsoft 実装です。
WinRM には次のコンポーネントが含まれます。
- WinRM スクリプト API:このスクリプト API を使用すると、オーケストレーションは WS 管理プロトコル操作を実行するスクリプトを使用し、リモート コンピュータからデータを取得できます。
- WMI サービス:WMI サービスは WinRM と並行して実行され続け、要求されたデータまたは制御を WMI プラグインを介して提供します。データの取得は、Win32_Process などの標準 WMI クラスから引き続き行えます。
WinRM 構成
WinRM は Windows 2008 R2 以降のオペレーティング システムで自動的にインストールされますが、使用前に設定する必要があります。
- コマンド プロンプトで winrm quickconfig と入力します。このコマンドは大文字と小文字を区別しません。
- コンソールに [これらの変更を行いますか [y/n]?] と表示された場合は、[y] と入力します。
winrm quickconfigコマンドは次の操作を実行します。- WinRM サービスを開始し、サービスのスタートアップ タイプを [自動スタート] に設定します。
- 任意の IP アドレスで HTTP または HTTPS のいずれかを使用して、WS 管理プロトコルを送受信するポートのリスナーを設定します。
- 現在のユーザー プロファイルのファイアウォール例外を作成します。