Windows Admin Center 拡張機能についてUnderstanding Windows Admin Center Extensions

適用先:Windows Admin Center、Windows Admin Center PreviewApplies To: Windows Admin Center, Windows Admin Center Preview

Windows 管理センターのしくみにまだ慣れていない場合は、概要アーキテクチャから始めましょう。In case you're not yet familiar with how Windows Admin Center works, let's start with the high-level architecture. Windows Admin Center は、次の 2 つの主要コンポーネントで構成されます。Windows Admin Center is comprised of two main components:

  • Web ブラウザーの要求に対して Windows Admin Center UI の Web ページを提供するライトウェイト Web サービスです。Lightweight web service that serves Windows Admin Center UI web pages to web browser requests.
  • Web ページからの REST API 要求をリッスンし、対象のサーバーまたはクラスターで WMI の呼び出しまたは PowerShell スクリプトが実行されるようにリレーするゲートウェイ コンポーネントです。Gateway component that listens for REST API requests from the web pages and relays WMI calls or PowerShell scripts to be executed on a target server or cluster.

Windows Admin Center のアーキテクチャ

Web サービスによって提供される Windows Admin Center UI Web ページには、拡張機能として実装される拡張性の観点からの 2 つの主要な UI コンポーネントであるソリューションとツール、およびゲートウェイ プラグインと呼ばれる 3 つ目の拡張機能の種類があります。The Windows Admin Center UI web pages served by the web service has two main UI components from an extensibility perspective, solutions and tools, which are implemented as extensions, and, a third extension type called gateway plugins.

ソリューションの拡張機能Solution extensions

既定では Windows Admin Center のホーム画面で、Windows Server 接続、Windows PC 接続、フェールオーバー クラスター接続、ハイパーコンバージド クラスター接続の 4 種類のうちのいずれかの接続を追加できます。In the Windows Admin Center home screen, by default, you can add connections that are one of four types – Windows Server connections, Windows PC connections, failover cluster connections and hyper-converged cluster connections. 接続が追加されると、接続の名前と種類がホーム画面に表示されます。Once a connection is added, the connection name and type will be displayed in the home screen. 接続名をクリックすると、対象のサーバーまたはクラスターへの接続が試行され、接続のために UI が読み込まれます。Clicking on the connection name will attempt to connect to the target server or cluster and then load the UI for the connection.

Windows Admin Center のアーキテクチャ

これらの各接続の種類はソリューションにマップされ、ソリューションは “ソリューション“ 拡張機能と呼ばれる種類の拡張機能を使用して定義されます。Each of these connection types map to a solution and solutions are defined through a type of extension called “solution” extensions. ソリューションは通常、サーバー、PC またはフェールオーバー クラスターなどの Windows Admin Center を通じて管理する一意の種類のオブジェクトを定義します。Solutions typically define a unique type of object you wish to manage through Windows Admin Center, such as servers, PCs or failover clusters. ネットワーク スイッチや Linux サーバーなどのその他のデバイス、またはリモート デスクトップ サービスなどのサーバーにも接続して管理するための新しいソリューションを定義することもできます。You could also define a new solution for connecting to and managing other devices such as network switches and Linux servers, or even services such as Remote Desktop Services.

ツール拡張機能Tool extensions

Windows Admin Center のホーム画面で接続をクリックして接続すると、選択した接続の種類のソリューション拡張機能が読み込まれ、左側のナビゲーション ウィンドウにツールの一覧を含むソリューション UI が表示されます。When you click on a connection in the Windows Admin Center home screen and connect, the solution extension for the selected connection type will be loaded and you will then be presented with the solution UI including a list of tools in the left navigation pane. ツールをクリックすると、ツール UI が読み込まれ、右側のウィンドウに表示されます。When you click on a tool, the tool UI is loaded and displayed in the right pane.

Windows Admin Center UI のアーキテクチャ

これらの各ツールは、“ツール“ 拡張機能と呼ばれる 2 つ目の種類の拡張機能を使用して定義されます。Each of these tools are defined through a second type of extension called “tool” extensions. ツールが読み込まれると、対象のサーバーまたはクラスターで WMI の呼び出しまたは PowerShell スクリプトを実行し、UI に情報を表示するか、またはユーザー入力に基づいてコマンドを実行することができます。When a tool is loaded, it can execute WMI calls or PowerShell scripts on a target server or cluster and display information in the UI or execute commands based on user input. ツール拡張機能では、表示する必要のあるソリューションを定義するため、各ソリューションについて異なるツール セットが生じます。A tool extension defines which solutions it should be displayed for, resulting in a different set of tools for each solution. 新しいソリューション拡張機能を作成する場合は、ソリューションの機能を提供する 1 つ以上のツールの拡張機能をさらに記述する必要があります。If you are creating a new solution extension, you'll additionally need to write one or more tool extensions that provide functionality for the solution.


ゲートウェイ プラグインGateway plugins

ゲートウェイ サービスでは、呼び出す UI の REST API を公開し、ターゲットで実行するコマンドとスクリプトをリレーします。The gateway service exposes REST APIs for the UI to call and relays commands and scripts to be executed on the target. ゲートウェイ サービスは、異なるプロトコルをサポートするゲートウェイ プラグインによって拡張できます。The gateway service can be extended by gateway plugins that support different protocols. Windows Admin Center には、PowerShell スクリプトの実行用と WMI コマンド用の 2 つのゲートウェイ プラグインが事前にパッケージ化されています。Windows Admin Center is pre-packaged with two gateway plugins, one for executing PowerShell scripts and the other for WMI commands. REST など、PowerShell または WMI 以外のプロトコルによってターゲットと通信する必要がある場合は、そのためのゲートウェイ プラグインを構築できます。If you need to communicate with the target through a protocol other than PowerShell or WMI, such as REST, you can build a gateway plugin for this.

次の手順Next steps

Windows Admin Center で構築する機能に応じて、既存のサーバーまたはクラスター ソリューション向けのツール拡張機能を構築するだけで十分であり、これが拡張機能を構築するための最も簡単な最初の手順です。Depending on what capabilities you want to build in Windows Admin Center, building a tool extension for an existing server or cluster solution may be sufficient, and is the easiest first step into building extensions. ただし、機能がサーバーやクラスターではなく、デバイス、サービス、または完全に新しいものを管理するためのものである場合は、1 つ以上のツールを使用してソリューション拡張機能を構築することを考慮する必要があります。However, if your feature is for managing a device, service or something completely new, rather than a server or cluster, you should consider building a solution extension with one or more tools. 最後に、WMI または PowerShell 以外のプロトコルを使用してターゲットと通信する必要がある場合は、ゲートウェイプラグインを作成する必要があります。And finally, if you need to communicate with the target through a protocol other than WMI or PowerShell, you'll need to build a gateway plugin. さらに読み進めて開発環境を設定する方法および最初の拡張機能の記述を開始する方法を確認してください。Continue reading on to learn how to set up your development environment and start writing your first extension.