この記事では、KMS(キー管理サービス)の仕組みと、Microsoftボリュームライセンス製品のアクティベーション設定方法について詳しく説明します。企業や学校など、大規模な環境にWindowsやOfficeをインストールした際に、Microsoftのオンラインサーバーに毎回接続できなかった経験があるなら、おそらくKMSを使っているのではないでしょうか。KMSを使用すると、社内ネットワークでインターネットへの常時接続なしにアクティベーションを処理できるため、非常に便利ですが、最初は少し戸惑うかもしれません。KMSを正しく設定すれば、複数のデバイスをシームレスにアクティベートでき、ライセンスコンプライアンスに関する大きな問題を回避できます。
- KMSアーキテクチャの理解
- Windows Server に KMS サーバーをインストールする
- KMS による Windows のアクティベーション
- KMS を使用した Office ボリューム ライセンス アクティベーション
- VAMT を使用した KMS の管理
- よくあるKMSアクティベーションの問題
KMSボリュームアクティベーションアーキテクチャの理解
KMSのセットアップには、いくつかの重要な要素があります。まず、KMSサーバーがあります。これは通常、Windows Serverマシン上にセットアップされます。このサーバーは、特別なCSVLKキーを使用して、オンラインまたは電話でMicrosoftを通じて1回ライセンス認証されます。Windowsデスクトップ、サーバー、Officeインストールなど、すべてのクライアントマシンは、Microsoftに直接アクセスするのではなく、ネットワーク内のこのKMSサーバーにライセンス認証要求を送信します。
KMSサーバーを動作させるには、Microsoftボリュームライセンスポータルから取得できる特別なCSVLK (ボリュームライセンスキー)をインストールする必要があります。Microsoftボリュームライセンスサービスセンター(https://www.microsoft.com/Licensing/servicecenter/default.aspx )にサインインし、 「ライセンス」>「契約概要」>「プロダクトキー」に進みます。ここで、例えばWindows Server 2019のKMSホストキーを取得できます。これらのキーがすぐに表示されない場合もありますが、サポートに問い合わせればMicrosoftが生成してくれる場合もあります。
キーを入手したら、それをサーバー上で指定する必要があります。これはコマンドラインで行います:slmgr /ipk <your_kms_host_key>。アクティベーション自体は? を使ってMicrosoftサーバーに一度接続するだけですslmgr /ato。本当に一度で完了です。その後は、サーバーがクライアントへのローカルリクエストをすべて処理します。
補足:SRVレコード(_VLMCS)を使ってDNSを自動設定することもできます。こうすることで、クライアントは自動的にサーバーを見つけることができ、手動で操作する必要がなくなります。DNSレコードは以下でテストできます。
nslookup -type=srv _vlmcs._tcp.yourdomain.com
これにより、どのサーバーが KMS を実行していて、デフォルトのポート 1688 でリッスンしているかが表示されます。
Windows Serverにボリューム アクティベーション キー管理サーバーをインストールする方法
基本的に、Windows ServerマシンであればどれでもKMSホストになることができます。専用のマシンは必要ありません。適切なロールをインストールし、コマンドライン操作の準備を整えるだけです。
- サーバー マネージャーを開き、[役割と機能の追加]に移動します(または PowerShell を起動して を実行します
Install-WindowsFeature -Name VolumeActivation -IncludeAllSubFeature -IncludeManagementTools)。 - インストールが完了したら、管理者としてコマンドプロンプトを開き、CSVLKキーをインストールします
slmgr /ipk <kms_host_key>。<kms_host_key>をVLSCから取得したキーに置き換えます。 - でサーバーを有効化します
slmgr /ato。インターネットアクセス(ポート80/443)が必要なので、ファイアウォールが送信トラフィックをブロックしていないことを確認してください。 - SRV DNSレコードを公開するには、 を実行します
slmgr /sdns。次に、 でステータスを確認しますslmgr.vbs /dlv。「説明: VOLUME_KMS_WS22 チャネル」と「ライセンスステータス: ライセンス済み」と表示されているはずです。これは、サーバーの準備が整ったことを意味します。
サーバーがMicrosoftに接続できない場合やDNSが正しく設定されていない場合、アクティベーションが失敗することがあります。Windowsは必ずしも問題を明確に認識できるとは限らないため、インターネット接続とDNS SRVレコードを再度ご確認ください。
KMSサーバーでWindowsをライセンス認証する方法
クライアントマシン(Windows 10、Serverなど)では、 GVLK (Generic Volume License Key)を設定する必要があります。これは、WindowsまたはOfficeにMicrosoftのアクティベーションサーバーではなくKMSサーバーを検索するように指示するものです。Windows 10/11の場合、以下のようになります。
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
お使いのエディションに適したキーに置き換えてください。GVLKキーのリストはこちらでご覧いただけます。キーが配置されたら、WindowsにKMSサーバーを直接使用するように指示できます。
slmgr /skms kms-server.yourdomain.com:1688
最後に、slmgr /atoアクティベートを実行します。すべてがうまくいけば、アクティベーションが成功したことを示すメッセージが表示されます。うまくいかない場合は、DNS、ポートアクセス、GVLKを再確認してください。通常、これらの部分が問題の原因となります。
なお、アクティベーションのカウントは、Windowsの場合はクライアントが25台、サーバーとOfficeの場合は5台に達した時点で開始されます。クライアント数が少なすぎる場合は、しきい値に達するまでアクティベーションは行われません。
KMS サーバーを使用した Microsoft Office ボリューム ライセンスのアクティベーション
Office の場合は、 Office 2016、2019、LTSC 2021 などの特別なボリューム ライセンス パックも必要です。まず、KMS サーバーにボリューム ライセンス パックをインストールしてください。次に、Office ディレクトリにある Office VBS スクリプト ( ospp.vbs ) を使用してアクティベーションを設定します。
ちょっと奇妙ですが、Office の KMS サーバーを指定するには、次のコマンドを実行します。
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /sethst:kms-server.yourdomain.com
必要に応じてポートを変更する場合も同様です。
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /setprt:1688
次に、次の方法で Office をアクティブ化します。
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /act
いつでもアクティベーションステータスを確認できます:
cscript "C:\Program Files\Microsoft Office\Office16\ospp.vbs" /dstatusallOffice のライセンス認証には、特に KMS サーバーの準備が整っていない場合や DNS の問題が発生した場合に、多少時間がかかることがあります。しかし、一度準備が整えば、KMS に定期的にアクセスできる限り、Office のライセンス認証は維持されます。
VAMT: ボリューム アクティベーション管理ツール
これらすべてを管理するのは、特に複数のサーバーを管理している場合や、アクティベーションの統計情報を確認する必要がある場合は、面倒になりがちです。そこでボリューム アクティベーション管理ツール(VAMT)の出番です。VAMTはWindowsアセスメント&デプロイメントキット(ADK)の一部なので、まずダウンロードしてインストールする必要があります。ただし、.NET FrameworkとローカルのSQL Server Expressデータベースが必要なので、ご注意ください。
VAMTは、すべてのKMSキーを追跡し、現在のアクティベーションステータスを確認し、問題のトラブルシューティングを行うのに役立ちます。環境が複雑になると、何がどこでアクティベートされているかを把握することがほぼ必須になります。
KMSアクティベーションの既知の問題
- 多くの場合、適切な GVLK ではなく企業の CSVLK をクライアントで使用するという間違いがあり、アクティベーションが失敗します。
- KMS サーバーが古いキーでアクティブ化された場合、新しいバージョンの Windows または Office をサポートしていない可能性があります。更新された CSVLK が必要になります。
- 0xC004F074のようなエラーは通常、DNS SRVレコードが設定されていないか、サーバーがMicrosoftに接続できないことを意味します。DNS
_VLMCS._tcpで該当のレコードを確認するか、サーバーを手動で指定してください。 - 0xC004F038が表示された場合は、アクティベーションのしきい値(Windowsの場合は25クライアント、ServerまたはOfficeの場合は5クライアント)にまだ達していない可能性があります。十分な数のマシンがアクティベーションを要求するまでお待ちください。
- 実行して、
TNC par-kms -Port 1688 -InformationLevel Quietファイアウォールがポートをブロックしているかどうか、または sppsvc.exe が実行されているかどうかを確認します。これらはよくある落とし穴です。
KMS の仕組みと、正しく設定・運用する方法が、これでより明確になったかと思います。正直に言うと、最初は少し面倒かもしれませんが、一度使いこなせるようになると、あとは順調に進みます。DNS とポート番号に注意しておけば、問題なく動作するはずです。
まとめ
- Windows ServerにKMSロールをインストールする
- CSVLKキーを入力してアクティブ化します
- DNS SRVレコードを設定するか、クライアントを手動で構成する
- ファイアウォールのポートが開いていることを確認してください(1688)
- アクティベーションにはクライアントで適切なGVLKキーを使用する
- Officeの場合はボリュームライセンスパックをインストールし、スクリプトで構成します
- 複数のサーバーの管理やトラブルシューティングにはVAMTを使用する
まとめ
KMSサーバーの設定はそれほど難しくありませんが、コマンドラインでの作業とDNSへの注意が必要です。正しく設定すれば、複数のWindowsデバイスやOfficeデバイスを社内でアクティベートするのがはるかに簡単になります。ただし、ポート、DNSレコード、正しいキーを忘れないようにしてください。そうでないと、問題が発生する可能性があります。この記事が誰かの時間の節約になれば幸いです。私が扱ったいくつかの設定ではうまくいきましたので、あなたにも役立つかもしれません。