KMSサーバーでライセンス認証ログが出ない原因と確認方法|イベントID 12290・ADベース認証(ADBA)まで徹底解説

KMSサーバーでWindows 10クライアントを認証したつもりなのに、イベントID 12290などの認証ログに端末が見当たらない――この症状は「認証されていない」よりも、まず「KMSを経由していない」ケースが多いです。ログの正しい確認場所、クライアントが使っている認証方式の見分け方、ADベース認証(ADBA)だとKMSログに残らない理由と対処を具体的に解説します。

目次

KMSサーバーでライセンス認証ログを確認する場所

KMSホスト(KMSサーバー)側で「KMSとして受け付けた認証要求」が記録されるログは、主にイベントビューアー内の専用ログです。まずは「見ているログが違う」パターンを潰すのが最短ルートです。

イベントビューアーの確認手順

  1. KMSホストに管理者権限でログオンします。
  2. 「イベント ビューアー」を開きます。
  3. 左ツリーから次のいずれかを確認します(環境により表示階層が異なる場合があります)。
  • [アプリケーションとサービス ログ]→[Key Management Service]
  • [アプリケーションとサービス ログ]→[Microsoft]→[Windows]→[Key Management Service]

このログに、KMSによるクライアントの認証イベント(例:イベントID 12290など)が記録されます。ここに出ていない場合は、「その端末がKMSホストへ到達していない」か「そもそもKMS以外で認証されている」可能性が高いです。

まず押さえる:KMSログは“受け付けたKMS要求”しか残らない

KMSホスト側のログは、KMSホストが受信した要求に対して記録されます。つまり、クライアントが別の方式(ADベース認証、MAK、個人向けデジタルライセンス等)でライセンス状態が「ライセンス認証済み」になっていても、KMSホストを通っていなければKMSホストのログには残りません。

観点KMSホスト側にログが残るKMSホスト側にログが残らない
クライアントがKMSホストへTCP 1688で要求○(KMS要求として記録される)―
ADベース認証(ADBA)で認証―○(KMSホストを経由しない)
MAK(複数認証キー)など別方式で認証―○(KMS要求が発生しない)
別のKMSホストへ向いている―(今見ているKMSホストには出ない)○

最重要:そのクライアントは本当にKMSで認証しているか

「クライアント側で slmgr /dlv を見る」のが最優先です。ここで、どの認証チャネルを使っているか、KMSホスト名が見えているか、が一気に分かります。

クライアント側で確認するコマンド

管理者としてコマンドプロンプトを開き、次を実行します。

slmgr /dlv

あわせて、状態の確認として次も有効です。

  • slmgr /dli(概要表示)
  • slmgr /xpr(有効期限の概況)

slmgr /dlvで見るべきポイント

表示される項目名はOSビルドや言語で多少差がありますが、判断の軸は同じです。

確認ポイントKMSで認証している時の傾向ADベース認証(ADBA)の時の傾向
チャネル/説明(Description / Channel)ボリュームライセンス(KMSクライアント)系の表記が出るActive Directoryベースの認証を示す表記や、KMSホスト名が出ない構成になりやすい
KMSホスト名(KMS machine name / Host name)FQDNやDNSから取得したKMS名が表示されることが多い表示されない/KMSを指す情報が薄いことが多い
ライセンス状態ライセンス認証済み(Licensed)ライセンス認証済み(Licensed)
“認証済み=KMS”とは限らないどの方式でも「ライセンス認証済み」になり得るため、方式の判定が重要

クライアントのイベントログで「問い合わせ先」を補強する

KMSの場合、クライアントはKMSホストへ問い合わせを行い、その結果がクライアント側ログにも残ります。クライアント側で「どこへ問い合わせたか」を追うと、KMSホスト側ログに出ない理由が見えやすくなります。

  • イベントビューアー → [アプリケーションとサービス ログ]→[Microsoft]→[Windows]→[Security-SPP]
  • イベントID(例:12289など)で成功・問い合わせの痕跡を確認

もしここで、KMSホストへの通信(ホスト名や到達)を示すログが薄い/別の挙動が見える場合は、KMS以外の方式(特にADベース認証)を疑うべきです。

KMSサーバーにログが出てこない“本命”原因:ADベース認証(ADBA)

ドメイン参加済みのWindowsでは、組織の構成によってはKMSではなくActive Directoryベースのライセンス認証(ADBA)で自動的にアクティブ化されることがあります。この場合、クライアントはKMSホストを経由しません。

そのため、次の現象が同時に起きます。

  • クライアント側:slmgr /dlvでは「ライセンス認証済み」になっている
  • KMSホスト側:イベントID 12290などのKMS関連ログに、そのクライアントが一切出てこない

これは矛盾ではなく、認証経路が違うだけです。KMSログに端末がいないからといって、直ちに「未認証」と判断しないのが運用上の重要ポイントです。

なぜADBAだとKMSログに残らないのか

KMSは「KMSホストに対して定期的に問い合わせる」方式です。一方、ADBAは「ドメイン参加していること(AD上の仕組み)を使って認証する」方式であり、KMSホストへの問い合わせが発生しません。したがって、KMSホストのKey Management Serviceログに記録される余地がありません。

KMSログに“その端末”を表示させたい場合の対応

監査や運用の都合で「KMSホスト側のログに端末を出したい」場合は、対象端末がKMSを使うように明示します。代表的なのが、slmgr /skmsでKMSホストを指定し、slmgr /atoで再認証する手順です。

手順:KMSホストを明示してKMSで再認証する

  1. KMSホストのFQDNを確認します(例:kms01.example.local)。
  2. クライアントで管理者として次を実行します。
slmgr /skms kms01.example.local
slmgr /ato

再認証が成功すると、KMSホスト側の「Key Management Service」ログに、その端末の要求が記録されるようになります(KMS要求として到達している場合)。

補足:DNS自動検出に戻したい場合

一時的な切り分けで/skmsを設定した場合、後で自動検出(DNSのSRVレコード参照)に戻したいことがあります。その場合は手動指定をクリアします。

slmgr /ckms
slmgr /ato

この状態でDNSに _vlmcs._tcp のSRVレコードが正しく登録されていれば、クライアントは自動的にKMSホストを見つけます。

“特定のクライアントだけKMSログに出ない”ときの原因チェックリスト

ADBA以外にも、「その端末だけ出ない」にはいくつか定番原因があります。下の表の順に確認すると、無駄な遠回りを避けられます。

よくある原因症状の特徴確認ポイント対処の方向性
ADベース認証(ADBA)で認証されているクライアントは認証済みだがKMSホストに痕跡がないslmgr /dlvで方式を確認KMSに統一するなら/skms→/ato
別のKMSホストへ問い合わせている別ホストのログには出る/このKMSだけ出ないslmgr /dlvでKMSホスト名、DNS SRVの参照先DNSのSRV、GPO、手動/skms設定を整理
手動でKMSホストが固定されているいつまでも古いKMSへ向くslmgr /dlv、過去の設定有無slmgr /ckmsで解除し、自動検出へ
ネットワーク/ファイアウォールでKMSへ到達できていない/atoが成功しないのが通常だが、切替直後に顕在化することもKMSは通常TCP 1688、疎通、名前解決FW例外、経路、名前解決、プロキシ影響を確認
イベントログの保存容量が小さく、上書きされている端末は認証したがログがすぐ消えるログの最大サイズ、保持設定、監査期間ログサイズ拡張、転送(WEF等)、SIEM連携

KMSホスト側で“見落とし”がちな確認ポイント

ログの場所が合っていても、運用設定のせいで「見えていない」ことがあります。KMSのトラブルシューティングでは、次の3点が効きます。

ログのフィルター条件をリセットする

イベントビューアーでフィルター(イベントID、キーワード、期間)が残ったままだと、存在するログが表示されません。特に「過去○日」や「特定IDのみ」で絞った状態で探し続けるケースが多いので、一度フィルターを解除してから再検索します。

ログの保持設定(最大ログサイズ)を見直す

KMSの要求が多い環境では、既定のログサイズだと上書きが速いことがあります。監査用途で「いつ・どの端末が認証したか」を追うなら、最低でも次を検討すると安全です。

  • Key Management Serviceログの最大サイズを増やす
  • 「必要に応じて上書き」ではなく、運用ルールに合わせた保持/アーカイブ
  • Windowsイベント転送(WEF)やログ収集基盤への転送

KMSホスト自身の状態も把握する

KMSホスト側でも、状態把握のためにslmgrが使えます。ホストで実行すると、KMSホストとしての情報(設定状況、受付状況など)を確認できます。

slmgr /dlv

「そもそもKMSホストとして正しく構成されているか」「想定外の変更が入っていないか」を、ログと合わせて確認すると切り分けが速くなります。

具体的な切り分け手順(迷ったらこの順番)

現場で再現性の高い順序に並べると、次のフローが最短です。ポイントは「KMSホストを探す」より先に「認証方式を確定」することです。

  1. クライアントでslmgr /dlvを実行し、認証方式とKMSホスト情報の有無を確認する
  2. クライアントのイベントログ(Security-SPP)で、KMS問い合わせや認証方式の痕跡を確認する
  3. KMSホストのKey Management ServiceログでイベントID 12290などの記録を検索する
  4. クライアントがADBAなら、KMSログに出ないのが正常であると判断し、運用方針(ADBA継続/KMS統一)を決める
  5. KMSに統一するなら、slmgr /skms→slmgr /atoで明示的にKMS経由へ切り替え、KMSホスト側ログに記録されることを確認する

運用上のポイント:KMSとADBAを混在させるなら“監査の設計”が必要

ADBAはドメイン参加端末の運用を楽にしますが、「KMSホストのログを見れば全部追える」という前提は崩れます。混在環境で監査性を確保したい場合は、次のどちらかの設計が現実的です。

方針メリット注意点
KMSに統一(KMSホストで一元的に監査)KMSホストのログに要求が集約され、追跡しやすいKMS到達性(NW/FW)とKMSホストの冗長化が重要
ADBAを優先(運用簡素化)+クライアントログ収集ドメイン参加端末の自動認証が安定しやすいKMSホストログだけでは追えないため、端末側ログや資産管理の連携が必要

「KMSログに出ない端末がある=異常」ではなく、どの方式で認証させるかを先に決め、その方式に合わせてログの取り方を設計するのが、現場でのトラブルを減らすコツです。

よくある質問

slmgr /atoを実行したのに、KMSサーバーにログが出ません。なぜですか?

/atoは「今の端末設定で有効化を試みる」動作です。環境がADBAを優先する構成だったり、端末がKMSホストを参照していなかったりすると、KMSホストに要求が飛ばず、結果としてKMSホストのログにも残りません。まずはslmgr /dlvで方式と参照先を確定してください。

KMSホスト側ログに端末名が見えません。IPだけですか?

ログに残る情報はイベントの種類や環境の設定に依存します。端末名が追いづらい場合は、クライアント側のSecurity-SPPログ(問い合わせ時刻、参照先)や、DHCP/DNSのログ、資産管理ツールと突合する運用が現実的です。監査で端末特定が必須なら、ログ保持・収集基盤(転送)の整備もセットで検討してください。

無理にKMSへ切り替えても問題ありませんか?

技術的には可能でも、組織のライセンス運用ポリシーや設計意図(ADBAを使う前提)がある場合があります。監査要件や管理要件を踏まえ、どの方式に統一するかを決めてから切り替えるのがおすすめです。実施は必ず正規のボリュームライセンス管理の範囲で行ってください。

まとめ

KMSサーバーでイベントID 12290などの認証ログが見つからないとき、最初に疑うべきは「未認証」ではなく認証方式がKMSではない可能性です。特にADベース認証(ADBA)でアクティブ化されている端末はKMSホストを経由しないため、KMSログに出ないのが正常です。クライアントのslmgr /dlvで方式と参照先を確定し、必要に応じてslmgr /skms→slmgr /atoでKMS経由へ切り替えることで、KMSホスト側に認証イベントを記録させられます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次