キー管理サービス (KMS) のトラブルシューティングに関するガイドライン

企業顧客は、展開プロセスの一部としてキー管理サービス (KMS) をセットアップします。これにより、環境内で Windows をライセンス認証するためのシンプルで簡単なプロセスが可能になるからです。 通常、KMS ホストをセットアップすると、KMS クライアントは自動的にホストに接続し、独自にライセンス認証します。 ただし、プロセスが期待どおりに動作しない場合があります。 この記事では、発生する可能性がある問題をトラブルシューティングする方法について説明します。

イベント ログのエントリと slmgr.vbs スクリプトの詳細については、「ボリューム ライセンス認証テクニカル リファレンス」を参照してください。

KMS のトラブルシューティングを開始する場所

最初に、KMS のライセンス認証のしくみについて簡単にまとめておきます。 KMS は、動的ホスト構成プロトコル (DHCP) といくつかの類似点があるクライアント サーバー モデルです。 ただし、KMS では、要求に応じてクライアントに IP アドレスが渡されるのではなく、製品のライセンス認証が有効にされます。 また、KMS は更新モデルであり、クライアントでは定期的にライセンスの再認証が試みられます。 "KMS ホスト" と "KMS クライアント" の 2 つの役割があります。

  • KMS ホストでは、アクティブ化サービスが実行され、環境でのライセンス認証が有効にされます。 KMS ホストを構成するには、ボリューム ライセンス サービス センター (VLSC) から KMS キーをインストールした後、サービスをライセンス認証する必要があります。
  • KMS クライアントは、環境に展開され、ライセンス認証する必要がある Windows オペレーティング システムです。 KMS クライアントでは、ボリューム ライセンス認証を使用する Windows の任意のエディションを実行できます。 KMS クライアントには、汎用ボリューム ライセンス キー (GVLK) または KMS クライアント セットアップ キーと呼ばれるキーがプレインストールされています。 GVLK が存在するシステムは KMS クライアントになります。 KMS クライアントでは、DNS SRV レコード (_vlmcs._tcp) を使用して KMS ホストが識別されます。 次に、クライアントでは自動的に、このサービスの検出とそれを使用したライセンス認証が試みられます。 既定では 30 日間の猶予期間中は、2 時間ごとにライセンス認証が試行されます。 ライセンス認証が済むと、KMS クライアントでは 7 日ごとにライセンス認証の更新が試みられます。

トラブルシューティングの観点からは、問題が発生している理由を解明するためにホスト側とクライアント側の両方を確認することが必要になる場合があります。

KMS ホストでのトラブルシューティング

トラブルシューティング中に KMS ホストを調べるときは、次の 2 つの領域を確認する必要があります。

  • コマンド ライン プロンプトで slmgr.vbs コマンドを使用して、ホスト ソフトウェア ライセンス サービスの状態を確認します。
  • イベント ビューアーで、ライセンス付与またはライセンス認証に関連するイベントを確認します。

slmgr.vbs コマンドを使用してソフトウェア ライセンス サービスを確認する

ソフトウェア ライセンス サービスからの詳細な出力を表示するには、管理者特権でのコマンド プロンプト ウィンドウを開き、「slmgr.vbs /dlv」と入力します。 次のスクリーンショットでは、Microsoft 内にある KMS ホストの 1 つでのこのコマンドを実行した結果を示します。

A screenshot of the `slmgr` command output for the KMS client with labels explaining what each variable means.

トラブルシューティング中に出力で注意する必要がある変数を次に示します。

  • バージョン情報は、slmgr.vbs /dlv 出力の先頭にあります。 バージョン情報は、サービスが最新かどうかを判断するのに役立ちます。 KMS サービスではさまざまな KMS ホスト キーがサポートされるため、すべてが最新であることを確認することが重要です。 このデータを使用して、現在使用しているバージョンが、インストールしようとしている KMS ホスト キーをサポートしているかどうかを評価できます。 更新プログラムの詳細については、「Windows 7 および Windows Server 2008 R2 の KMS アクティベーション サポートを拡張するための Windows Vista および Windows Server 2008 用の更新プログラムについて」を参照してください。

  • 名前は、KMS ホスト システムで実行されている Windows のエディションを示します。 この情報を使用して、KMS ホスト キーの追加または変更に関する問題のトラブルシューティングを行うことができます。 たとえば、この情報を使用して、使用しようとしているキーが OS エディションでサポートされているかどうかを確認できます。

  • 説明には、現在インストールされているキーが表示されます。 このフィールドを使用して、サービスを最初にライセンス認証したキーが、展開した KMS クライアントにとって正しいキーであったかどうかを確認します。

  • ライセンスの状態には、KMS ホスト システムの状態が表示されます。 値が Licensed (ライセンス済み) になっている必要があります。 他の値は、ホストを再ライセンス認証する必要があることを意味します。

  • 現在の数には、0 から 50 までの数が表示されます。 この数はオペレーティング システム間で累積され、30 日以内にライセンス認証が試みられた有効なシステムの数が示されます。

    カウントが 0 の場合は、サービスのライセンス認証が最近行われたこと、または有効なクライアントが KMS ホストに接続しなかったことを示します。

    環境内に存在する有効なシステムの数に関係なく、この数が 50 より大きくなることはありません。 この数は、KMS クライアントから返される最大ライセンス ポリシーの 2 倍だけをキャッシュするように設定されています。 最大ポリシーは Windows クライアント OS によって設定され、それ自体のライセンス認証のために KMS ホストから 25 以上の数が必要です。 したがって、KMS ホストが保持できる最大数は 2 x 25、つまり 50 です。 Windows Server KMS クライアントのみが含まれている環境では、KMS ホストの最大数は 10 になります。 この制限は、Windows Server のエディションのしきい値が 5 (2 x 5 つまり 10) であるためです。

    この数に関してよくある問題は、環境にライセンス認証された KMS ホストと十分なクライアントがあるのに、カウントが 1 より大きくならない場合です。 この問題が発生する場合は、展開されたクライアント イメージが正しく構成されていないため、システムに一意のクライアント マシン ID (CMID) がないことを意味します。 詳細については、「KMS クライアント」と「Windows Vista または Windows 7 ベースの新しいクライアント コンピューターをネットワークに追加しても、KMS の現在の数が増加しない」を参照してください。 サポート エスカレーション エンジニアの 1 人によるこの問題についてのブログ投稿「重複する CMID のために KMS ホスト クライアント数が増加しない」も参照してください。

    カウントが増加しない可能性があるもう 1 つの理由は、環境内の KMS ホストの数が多すぎて、カウントがすべてのホストに分散されている場合です。

  • Listening on Port (リッスン先のポート) 。 KMS との通信には匿名 RPC が使用されます。 既定では、クライアントによる KMS ホストへの接続には TCP ポート 1688 が使用されます。 KMS クライアントと KMS ホストの間で、このポートが開かれていることを確認します。 KMS ホストでポートを変更または構成することができます。 通信の間に、KMS ホストによって KMS クライアントにポートの指定が送信されます。 KMS クライアントでポートを変更すると、そのクライアントがホストに接続するときに、ポートの指定が上書きされます。

slmgr.vbs /dlv の出力の cumulative requests (累積要求数) セクションについて質問されることがよくあります。 一般に、このデータはトラブルシューティングには役に立ちません。 KMS ホストでは、ライセンス認証または再ライセンス認証を試みる各 KMS クライアントの状態の継続的な記録が保持されています。 失敗した要求は、KMS ホストが特定の KMS クライアントをサポートしていないことを示します。 たとえば、Windows Vista の KMS キーを使用してライセンス認証された KMS ホストに対して、Windows 7 の KMS クライアントがライセンス認証を試みた場合、ライセンス認証は失敗します。

Requests with License Status (ライセンスの状態が ... の要求数) 行では、過去および現在のすべての可能なライセンスの状態が示されています。 トラブルシューティングの点からは、このデータは、数が想定どおりに増加していない場合にのみ関連します。 その場合は、失敗した要求の数が増えているはずです。 この問題を解決するには、最初に KMS ホスト システムをライセンス認証するために使用されたプロダクト キーを確認する必要があります。 また、累積要求の値は KMS ホスト システムを再インストールする場合にのみリセットされることに注意してください。

便利な KMS ホスト イベント

次のセクションで説明するイベント ID は、ホスト関連の問題のトラブルシューティングをより効率的に行うために理解しておく必要があるものです。

イベント ID 12290

KMS クライアントがライセンス認証を試みているときにホストに接続すると、KMS ホストはイベント ID 12290 というラベルの付いたログを作成します。 イベント ID 12290 には、どのような種類のクライアントがホストに接続したか、障害が発生した理由を特定するために使用できる情報が含まれています。 イベント ID 12290 のエントリの次のセグメントは、KMS ホストのキー管理サービスのイベント ログから取得されます。

A screenshot of the KMS event log. There are labels highlighting important areas of the Info field and what the number strings mean.

イベントの詳細には次の情報が含まれます。

  • ライセンス認証に必要な最小数。これは、クライアントをライセンス認証するには KMS ホストからのカウントが 5 である必要があることを報告します。 これは、この OS が Windows Server OS であることを意味しますが、この変数だけではクライアントが使用しているエディションを示しません。 クライアントがライセンス認証されていない場合は、ホストの数がクライアントをライセンス認証できるかどうかを確認してください。
  • クライアント マシン ID (CMID)。これは、各システムの一意の値です。 この値が一意でない場合は、イメージが sysprep を使用した配布用に正しく構成されていないことが原因です。 コンピューターの一般化の詳細については、「Windows インストールの Sysprep (一般化)」を参照してください。 この問題が発生すると、環境内に十分なクライアントがあるにもかかわらず、KMS ホスト数が増加しません。 詳細については、「Windows Vista または Windows 7 ベースの新しいクライアント コンピューターをネットワークに追加しても、KMS の現在の数が増加しない」を参照してください。
  • ライセンスの状態と有効期限が切れるまでの時間。クライアントの現在のライセンスの状態です。 この変数は、クライアントが初めてライセンス認証しようとしているのか、再ライセンス認証しようとしているのかを判断するのに役立ちます。 時間エントリは、他に何も変化がない場合にクライアントがその状態に留まる時間を知ることもできます。

クライアントのトラブルシューティングを行っていて、KMS ホストで対応するイベント ID 12290 が見つからない場合、そのクライアントは KMS ホストに接続していません。 イベント ID 12290 エントリが欠落している理由としては、次のものが考えられます。

  • ネットワークが停止しました。
  • DNS でホストが解決されていないか、登録されていません。
  • ファイアウォールで TCP 1688 がブロックされています。
    • ポートは、KMS ホスト システム自体など、環境内の他の場所でもブロックされる可能性があります。 既定では、KMS ホストには KMS のファイアウォール例外がありますが、この例外は自動的に有効になりません。 例外を手動で有効にする必要があります。
  • イベント ログ ファイルがいっぱいです。

KMS クライアントでは、2 つの対応するイベント (イベント ID 12288 とイベント ID 12289) がログに記録されます。 これらのイベントの詳細については、「KMS クライアント」セクションを参照してください。

イベント ID 12293

KMS ホストで検索するもう 1 つの関連イベントは、イベント ID 12293 です。 このイベントは、ホストで DNS に必要なレコードが発行されなかったことを示します。 このシナリオでは障害が発生する可能性があるため、ホストを設定した後、クライアントを展開する前に、イベントが存在しないことを確認する必要があります。 DNS の問題について詳しくは、KMS と DNS の問題に関する一般的なトラブルシューティング手順に関する記事をご覧ください。

KMS クライアント

slmgr.vbs コマンドとイベント ビューアーを使用して、KMS クライアントでのライセンス認証のトラブルシューティングを行うこともできます。

Slmgr.vbs とソフトウェア ライセンス サービス

ソフトウェア ライセンス サービスからの詳細な出力を表示するには、管理者特権でのコマンド プロンプト ウィンドウを開き、コマンド プロンプトで「slmgr.vbs /dlv」と入力します。 次のスクリーンショットでは、Microsoft 内にある KMS ホストの 1 つでのこのコマンドの結果を示します。

A screenshot of the output for the slmgr command for the KMS client. There are labels explaining what each variable means.

トラブルシューティング中に出力で注意する必要がある変数を次に示します。

  • 名前。KMS クライアント システムが使用している Windows のエディションを示します。 この変数を使用すると、ライセンス認証しようとしている Windows のバージョンが KMS と互換性があることを確認できます。
  • 説明。インストールされたキーが表示されます。 たとえば、VOLUME_KMSCLIENT は、ボリューム ライセンス メディアの既定の構成である KMS クライアント セットアップ キー (GVLK) がシステムにインストールされていることを示します。 GVLK を備えたシステムは、KMS ホストを使用して自動的にライセンス認証を試みます。 ここで MAK などの別の値が表示される場合は、GVLK を再インストールして、このシステムを KMS クライアントとして構成する必要があります。 KMS クライアント セットアップ キーslmgr.vbs /ipk <GVLK> を実行する手順に従ってキーを手動でインストールするか、「ボリューム ライセンス認証管理ツール (VAMT) テクニカル リファレンス」の手順に従って代わりに VAMT を使用することができます。
  • 部分プロダクト キー。KMS クライアント セットアップ キーが KMS クライアントが使用しているオペレーティング システムと一致するかどうかを判断するために使用できます。 既定では、ボリューム ライセンス サービス センター (VLSC) ポータルのメディアを使用して構築されたシステムには、正しいキーが存在します。 場合によっては、KMS ライセンス認証をサポートするために十分なシステムが環境に存在するようになるまで、顧客が複数ライセンス認証キー (MAK) ライセンス認証を使用することがあります。 MAK から KMS に移行するには、これらのシステムに KMS クライアント セットアップ キーをインストールする必要があります。. VAMT を使用してこのキーをインストールし、正しいキーを使用していることを確認します。
  • ライセンスの状態には、KMS クライアント システムの状態が表示されます。 KMS によってライセンス認証されたシステムの場合、この値は Licensed (ライセンス済み) になっている必要があります。 それ以外の値は、問題があることを示している可能性があります。 たとえば、KMS ホストが正しく機能しているのに、KMS クライアントがまだアクティブ化されていないか、Grace (猶予) 状態のままになっている場合は、クライアントがホスト システムに到達するのを何かが妨げていることを意味します。 このブロックには、ファイアウォールの問題、ネットワークの停止などが考えられます。
  • クライアント コンピューター ID (CMID)。KMS クライアントごとに一意である必要があります。 「slmgr.vbs コマンドを使用してソフトウェア ライセンス サービスを確認する」で説明したように、数に関連する一般的な問題は、環境内でアクティブ化した KMS ホストまたはクライアントの数に関係なく、カウントが 1 を超えて増加しない場合です。 詳細については、「Windows Vista または Windows 7 ベースの新しいクライアント コンピューターをネットワークに追加しても、KMS の現在の数が増加しない」を参照してください。
  • DNS からの KMS マシン名。これには、クライアントがライセンス認証に正常に使用した KMS ホストの FQDN と、通信に使用した TCP ポートの両方が表示されます。
  • KMS ホスト キャッシュ。キャッシュが有効かどうかを示します。 通常、キャッシュは既定で有効になっています。 キャッシュを有効にすると、KMS クライアントはライセンス認証に使用したのと同じ KMS ホストをキャッシュし、再ライセンス認証時に DNS にクエリする代わりにこのホストと直接通信します。 クライアントでキャッシュされた KMS ホストに接続できない場合は、DNS に照会して新しい KMS ホストを検出します。

KMS クライアント イベント

次のセクションでは、潜在的な問題をより効率的にトラブルシューティングするために理解しておく必要があるクライアント イベントについて説明します。

イベント ID 12288 とイベント ID 12289

KMS クライアントのライセンス認証または再ライセンス認証が正常に行われると、クライアントでは 2 つのイベント (イベント ID 12288 とイベント ID 12289) がログに記録されます。 次のスクリーンショットは、KMS クライアントのキー管理サービス イベント ログから取得されたイベント ID 12288 エントリのセグメントを示しています。

A screenshot of the Event ID 12288 window with labels explaining what each value in the error message means.

イベント ID 12288 のみが表示され、対応するイベント ID 12289 が表示されない場合は、KMS クライアントが KMS ホストに接続できなかったか、KMS ホストが応答しなかったか、クライアントがホストの応答を受信しなかったかのいずれかです。 このような場合は、KMS ホストが検出可能であること、KMS クライアントがそれに接続できることを確認する必要があります。

イベント ID 12288 で最も関連性の高い情報は、Info (情報) フィールドのデータです。 たとえば、Info (情報) には、クライアントの現在の状態と、クライアントがライセンス認証しようとしたときに使用した FQDN および TCP ポートが表示されます。 FQDN を使用すると、KMS ホストの数が増加しないシナリオのトラブルシューティングを行うことができます。 たとえば、クライアントが使用できる KMS ホストの数が多すぎる場合 (正当なシステムまたはサポートされていないシステム)、この数はそのすべてに分散される可能性があります。

ライセンス認証が失敗しても、必ずしもクライアントにイベント ID 12288 が存在して 12289 が存在しないとは限りません。 ライセンス認証または再ライセンス認証が失敗した場合でも、両方のイベントが存在する可能性があります。 この場合は、2 番目のイベントを調べて、エラーの原因を確認する必要があります。

A screenshot of the client event 12289 window with labels explaining what each value in the Info section means.

イベント ID 12289 の Info (情報) セクションでは、次の情報が提供されます。

  • ライセンス認証フラグ。アクティベーションが成功した (1) か失敗した (0) かを示します。
  • KMS ホストの現在の数。クライアントがライセンス認証を試みたきの KMS ホストの数を示します。 ライセンス認証が失敗した場合は、このクライアント OS に対してこの数が不十分であること、またはこの数を構築するのに十分な数のシステムが環境内にないことが原因である可能性があります。

サポートから求められること

トラブルシューティング後にライセンス認証が期待どおりに機能しない場合は、Microsoft サポートに連絡して技術支援を受けることができます。 通常、サポート エンジニアは次の情報を求めます。

  • KMS ホスト システムおよび KMS クライアント システムからの slmgr.vbs /dlv の出力。
  • KMS ホスト (キー管理サービス ログ) と KMS クライアント システム (アプリケーション ログ) の両方からのイベント ログ。

次のステップ