かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  vol.34 Windows Admin Centerの導入|ラボ環境 in オンプレを作る(2)

 

 

vol.34 Windows Admin Centerの導入|ラボ環境 in オンプレを作る(2)

2024年08月08日配信
執筆者:山内 和朗

 今回は、社内(オンプレミス)に構築したHyper-Vベースのラボ環境の、検証用物理サーバー、つまりHyper-Vホストに、最新バージョンの「Windows Admin Center(WAC)」を導入します。その目的は、Azureのサービスと連携するハイブリッド管理機能の利用を考えているからです。同様のWACの管理環境は、Azure上のラボ環境にも導入します。通常のサーバー管理であれば、WACが無くても不自由しません。ラボ環境内のHyper-V VMの管理もできなくはないですが、それも想定していません。

 

Windows Admin Center(WAC)とは

 

 「Windows Admin Center(WAC)」は、物理、仮想、オンプレミス、Azure、他社クラウドやホスティング環境など、どこでも追加料金なしで導入できる、Windows Server用のWebベースのリモート管理ツールです。WACの概要およびダウンロードについては、以下のドキュメントで確認してください。

Windows Admin Center(Microsoft)

 

 WACを導入すると、主に次の3つのシナリオの管理を簡素化、効率化することができます。

 

  • サーバー管理の簡素化 ・・・ サーバーマネージャーやMicrosoft管理コンソール(MMCスナップイン)など、使い慣れたツールに変わる、統合されたサーバー管理環境を提供します。管理ツールを使い分ける手間がなく、効率的な運用管理を実現します。
  • ハイブリッドソリューションとの連携 ・・・ Azureの各種サービスと統合された、オンプレミスのサーバーのハイブリッド管理のセットアップと管理を簡略化します。
  • ハイパーコンバージド管理の効率化 ・・・ Azure Stack HCIまたはWindows Serverベースのハイパーコンバージドクラスターのセットアップと管理を簡略化します。これには、VM、記憶域スペースダイレクト(S2D)、ソフトウェア定義のネットワークなどの作成と管理を含みます。また、Azure Stack HCIでは「Windows Serverサブスクリプション」(有料)を利用することができ、Windows Serverのライセンス認証を簡素化できます。

WACゲートウェイをインストールする

 

 WACは、Windows Server(Server Coreまたはデスクトップエクスペリエンス)にゲートウェイ(サービス)としてインストールし、ポート443(既定)にリモートのモダンブラウザー(Microsoft Edge)から接続して管理する方法と、Windows 10またはWindows 11のクライアントコンピューターにスタンドアロンアプリとしてインストールして、アプリを起動し、ローカルのモダンブラウザーからポート6516(既定)に接続して管理する方法があります。デスクトップエクスペリエンスのWindows Serverの場合は、ローカルのモダンブラウザーから接続して管理することもできます。いずれの場合も、ローカルのゲートウェイサーバー(またはクライアントコンピューター)と、WACに登録したリモートサーバー、クラスター、Azure Stack HCIを管理することができます。

 Windows ServerにWACをインストールするには、Microsoft Evaluation Centerから最新のインストーラーをダウンロードして実行し、指示に従ってインストールを進めます。既定で自己署名証明書(有効期間60日)、ポート443でサービスとして動作するWebアプリケーションが言インストールされます(画面1)。

 

画面1
画面1 検証用サーバーのWindows Server 2022上に最新バージョンのWACをゲートウェイサーバーとしてインストールする

 

 なお、このブログ記事の執筆時点の最新バージョンは2023年12月リリースのWACバージョン2311です。WACは半期に一度、メジャーバージョンがリリースされますが、不定期にマイナーアップデートがリリースされることがあります。現在の最新バージョンは、2024年3月リリースのバージョン2311、ビルド1.5.2403.08001です。WACはMicrosoft Updateを通じて自動的に更新されますが(インストール時に「更新プログラムを確認するときにMicrosoft Updateを使用する」を選択した場合)、利用可能な更新版がある場合、WACにサインインしたときに通知されるので自動更新を待たずに、手動でダウンロードして更新することができます。過去にダウンロードしたインストーラーを使用した場合は、最新バージョンではない可能性があるので、できるだけすぐに最新版に更新してください。更新バージョンが利用可能になった場合、そのリリース日から30日以内に更新する必要があります(旧バージョンはサポートされなくなります)。

 

 インストールが完了したら、ブラウザーでWebサイトにアクセスし、ローカル管理者アカウントの資格情報でサインインします。既定で拡張機能の自動更新が有効になっているため、インストール直後は、拡張機能の更新が完了するまでしばらく待ってください。「設定|ゲートウェイ|拡張(拡張機能)」を開くと、自動更新を待たずに手動で更新することができます。また、物理サーバー環境の場合は、サーバーのモデルに対応したメーカー提供の拡張機能(BMCやRAID管理機能など)が利用できる場合があります(画面2)。

 

画面2
画面2 WACのインストール済みの拡張機能をすべて最新版に更新する。ハードウェア対応のメーカー提供の拡張機能が利用可能な場合は追加することができる

 

ハイブリッド管理のためにWACをAzureに登録する

 

 今回、WACを導入する最大の目的はAzureと連携されたハイブリッド管理機能を利用することにあります。そのためには、このWACのゲートウェイをAzureに登録する必要があります。それには、「設定|ゲートウェイ|登録」を開き、「登録」をクリックして、指示に従ってセットアップします(画面3)。

 

画面3
画面3 「設定|ゲートウェイ|登録」を開き、Azureにゲートウェイを登録する

 具体的には、1のAzureクラウドとして「Azure Global」を選択し、2の登録用コードの横にある「コピー」をクリックします。3のリンクをクリックすると、新しいタブでコード入力用のページが開くので、コピーしたコードを貼り付け、「次へ」をクリックします。アカウントの選択ページが表示されたら、Azureの有効なアカウントの資格情報でサインインします。WACのページに戻り、4.で登録先のMicrosoft Entra(テナント)IDが選択されていることを確認し、Microsoft Entraアプリケーションの「新規作成」を選択して「接続」をクリックします。最後に、5.の「サインイン」をクリックすると、「要求されているアクセス許可」のダイアログボックスが開くので、「承諾」をクリックします。これでAzureへの登録が完了しました。


 WACのゲートウェイがAzureに登録されると、「Azureハイブリッドセンター」を使用して、利用可能なAzureのサービスを確認できるようになります(画面4)。ここから各サービスのセットアップを開始することもできますし、WACの各ツール(「仮想マシン」ツールなど)からセットアップを開始することもできます。

 

画面4
画面4 「Azureハイブリッドセンター」で利用可能なサービスを確認する

 オンプレミスのラボ環境と同様に、Azure上のラボ環境にもWACを導入し、Azureにゲートウェイを登録しました。

 

WACはPowerShellスクリプトのサンプルの宝庫

 

 今回は、WACの導入とゲートウェイのAzureへの登録についてのみ、簡単に紹介しました。今回はWACの別の側面を紹介したいと思います。それは、WACがサーバー管理用のPowerShellスクリプトの作成に役立つということです。

 WACはバックエンドでPowerShellスクリプトが多用されています。WACの「サーバーマネージャー」や「コンピューターの管理」、「クラスターマネージャー」、あるいはそれらに含まれる各ツールを開き、ページの上部にある[>_](PowerShellスクリプトの表示)アイコンをクリックすると、各ツールで使用されているPowerShellスクリプトを表示することができます。WACで使用されている機能を、管理用スクリプトに組み込みたいという場合は、関数(function)やコードをコピーして活用することができます(画面5)。

 

画面5
画面5 WACで使用されているPowerShellスクリプトを参考にしたり、関数(function)をコピーして、独自のスクリプトに組み込むことができる

 ただし、WACのPowerShellスクリプトが常に正しく動作するとは限らないことに注意してください。実は、画面5で表示されている「Get-WACSMNumberOfLoggedOnUsers」関数には、管理対象が日本語版OSの場合に発生する不具合があります。この不具合については、3年以上前(旧ブログサイト )に気が付き、フィードバックしましたが、依然として修正されていません。以前はログオン中のユーザーが居ない場合に-1が返るという別の問題がありましたが、それは修正されています。

 Get-WACSMNumberOfLoggedOnUsers関数は、「概要」ツールの「ログオンしているユーザー」の値を返す関数です。ログオン中のユーザー数を取得するために、この関数はWindows標準の「quser.exe」コマンドを使用しています。ログオン中のユーザー数が1人以上いれば、ヘッダー行を除いた数がログオン中のユーザー数として判断しています。英語環境では確かにそれでよいのですが、日本語環境(コードページ932)でquser.exeはヘッダー行を2行(後述しますが実際には4行)出力します(画面6)。そして標準出力の1行目(アイドル)で出力終了と扱ってしまいます(画面7)。ログオン中のユーザーが1人の場合、日本語環境では3行の結果が返ってくるように見えますが、実は5行返ってきており、2行目と4行目は空行(長さ0の文字列)になっていました。そのあたりが影響して、1行目で出力終了と判断してしまっているのではないでしょうか。この問題はWACのバグというよりは、quser.exeのローカライズの問題だと思います。

 

画面6
画面6 「概要」ページの「ログオンしているユーザー」のユーザー数は、管理対象が日本語環境の場合、実際のログオンユーザー数に関係なく常に0を返す

 

画面7
画面7 日本語環境ではGet-WACSMNumberOfLoggedOnUsers関数のコードは出力結果の2行目以降を取得できていない(2行目は長さ0の空行)

 

参考: WAC in Azureについて

 

 Azureポータルでは、Azureポータルに統合され、Azure VMのWindowsゲストの管理に対応した「Windows Admin Center in Azure(WAC in Azure)」を利用可能です。WAC in Azureは、拡張機能(AdminCenter)としてAzure VMに追加、更新することができる、通常版のWACのサブセットです。これまではWindows Serverの動作するAzure VMでのみ利用できましたが、つい先日(6月20日)、Windows 10やWindows 11を実行するAzure VMのサポートも追加されました。

 

Azure で Windows Admin Center を使用して Windows VM を管理する(Microsoft)

Announcing Windows Admin Center in Azure for Windows Client machines(Windows Admin Center Blog)

 WAC in Azureは、拡張機能が有効なAzure VMの管理にのみ対応しており、複数サーバーの管理や、拡張機能の追加、Azureハイブリッドセンターおよびハイブリッド管理機能は含まれません。そのため、私のAzure上のラボ環境では、通常版のWACを導入しました。

 

 Azure上のラボ環境で拡張機能のWAC in Azureを使用しなかった理由は他にもあります。WAC in AzureはAzureポータルに統合されていますが、ネットワークアクセスはローカルからAzureポータルへのHTTPSアクセス(ポート443)ではなく、Azure VMのパブリックIPアドレスで外部に公開されたWACのポート6516へのアクセスであることにも注意してください(画面8)。ネットワークセキュリティグループ(NSG)で、Azure VMへのパブリックIPアドレス:6516へのアクセスを許可しない限り、接続することはできません。私の管理するAzure上のラボ環境は、会社のIPアドレスからのRDP接続のみを許可しています。WAC in Azureのために、例外の許可を最小限にするためにも、WAC in Azureを導入したくはないのです。

 

画面8
画面8 Azureポータルに統合されたWAC in Azure(AdminCenter拡張機能)は、AzureポータルへのHTTPSアクセスではなく、Azure VMのパブリックIPアドレスのポート6516へのアクセスであり、接続するにはNSGに例外を許可する必要がある

blog_subscribe

blog_comment

最新記事