今回はVolume Activation 2.0について書きます。Volume Activation2.0以前のライセンス認証は、結局のところ「やるべきこと」はシンプルだったので、ある意味やりさえすればよかったのですが、Volume Activation 2.0では事実上「設計」、「運用」のタスクが認証に関して発生しています。
このあたりをよく理解せずに「とりあえず動いているから」といって客先にサーバーを納品してしまったりすると、しばらくして「使えなくなった!」と連絡が来てしまうなんていうことにもなりかねません。しっかりと動作を理解しましょう。
対象
まず、Volume Activation 2.0の対象を抑えましょう。対象は2009年9月7日現在では以下のものだけです。
- Windows Vista
- Windows7
- Windows Server 2008 (R2)
要するにWindows Vista移行のOS(クライアント、サーバー共に)のみ、ということですね。
目的
次に、目的を理解しましょう。Volume Activation 2.0はアクティベーションを容易にしつつ、不正利用を防ぐための方法なのです。
Windows XP, 2003より前のOSではアクティベーションは必要ありませんでした。基本的にインストール時にキーは必要ですが、それを入力さえすればあとは何もする必要がありませんでした。
Windows XP, 2003ではアクティベーションが導入されました。これは製品の不正利用を防ぐために導入されました。インターネットに接続できるならアクティベーションのウィザードを実行するだけです。基本的にインターネットや電話でアクティベーションを実施しないと、OSが使えないようにする仕組みが備わったわけです。個人のPCであればこの方法で問題ありません。
しかし、企業用のPCとなると、数百、数千、数万台になります。これに対して一台一台すべてアクティベーションを実施して回るのは現実的ではありません。そこで企業向けには「ボリュームライセンスメディア」と「ボリュームライセンスキー」というものが存在しています。「ボリュームライセンスメディア」を使ってインストールし、インストール時に「ボリュームライセンスキー」を入力すると、アクティベーションの必要がなく使い続けられるわけです。この仕組みのおかげで企業のシステム管理者は大量のクライアントのアクティベーションを個別に実施しなくて良かったわけです。
しかし、この方法には問題点があります。企業向けのボリュームライセンスメディアとそのキーが外部に漏れてしまえば、アクティベーション無しでOSが不正使用し放題になってしまうからです。
そこで、企業向けのボリュームライセンスに関してもアクティベーションを行うようにするための仕組みがVolume Activation 2.0で、Windows Vista移行とりいれられたわけです。
なされるべきこと
企業向けのクライアントを全部アクティベーションさせようというわけですから、何らかのうまい仕組みが必要になります。「全部のクライアントで都度アクティベーションさせる」というのはもちろんNGなわけですから、自動化の仕組みが必要です。必ずしもインターネットに接続できるわけではないので、インターネットに接続できなくても問題ない仕組みも必要です。さらに長期間出張にノートPCを持ち出す…なんていうケースもあるでしょうから、そこへの対応も必要です。
このあたりをうまく解決するソリューション…なかなか難しそうですよね。マイクロソフトも単一の方法だけでは実現できないと判断したようで、出した答えはKMSとMAKという2つの方式の組み合わせです。以下、見ていきましょう。
KMS
KMSはKey Management Serviceの略で、これがVolume Activation 2.0の本命です。要は社内に認証サーバー(KMSホスト)を立て、ボリュームライセンスメディアでインストールされたクライアントは自動的にその認証サーバー(KMSホスト)をみつけて、アクティベートしてもらう、という仕組みです。
管理者はKMSホストにのみKMSキーの入力を行い、あとはボリュームライセンスメディアでOSをインストールしておけば、あとのことは裏で勝手にやってくれるわけです。KMSホストのみがInternet経由でMSのアクティベーションセンターと通信を1度だけすることになります。
ポイントは一度認証されたら、ずっと使い続けることができるわけではなく、定期的に更新が必要な点です。この間隔は180日に設定されています。つまり、常に社内ネットワークに接続されているデスクトップPCや、外に持ち出しはするけれども、最低でも数カ月に一度は社内ネットワークに接続されるような端末がKMSの対象になるわけです。
一度だけ社内でセットアップ、認証しておいて、家に持って帰って自宅でずっと使う…ということはできないようになっているわけですね。
MAK
MAKはMultiple Activation Keyの略で、ひとつのMAKキーで複数台のアクティベーションを行うことができます。これは結局今までのXP, 2003時代のアクティベーションとほぼ同様です。1台1台個別にキーを入力し、Internet経由あるいは電話で認証させます。期限も無期限です。
この方式はつまり、KMSでは管理できないクライアントのために残されている、というように理解するのがよいと思います。認証のための手間はかかりますが、MAKキーを入れておけばずっと使い続けられるわけです。
基本的な設計
これらのことから基本的な設計としては以下のようになると思います。
- まず、社内にKMSホストを構築する
- 社内ネットワークに接続するクライアントにはボリュームライセンスメディアにてインストールする
- 社内ネットワークに接続されない状態で半年以上利用し続ける可能性のあるクライアントにはボリュームライセンスでインストール後、MAKキーをセットする
- KMSとMAKの切り替えを行う必要が出てきた場合には都度入れ替えを行う
KMSであろうと、MAKであろうと、MSのアクティベーションセンターは台数の情報をきちんと把握することができるため、不正利用の心配はなくなります。(Volume Activation 2.0自体の機構が破られない限りは)
注意点
注意点をいくつかあげておきます。
KMS認証は少ない台数では利用できない
KMS認証には最低クライアント数が定められており、この台数に満たない場合にはKMS認証を利用することができません。
- Windows Vista : 25台以上
- Windows Server 2008 : 5台以上
なぜこのような下限が定められているのかというと、「クライアントを25台、サーバーを5台も認証している(それだけ存在している)ということは、きちんとした環境で使われているのだろう」ということのようです。つまり「個人で物理PC、サーバーをこんなに用意するやつはいないだろう」ということですね。
この考えは仮想マシンはこの台数にカウントされない、という当初の設計からも読み取れます。ですが、この「仮想マシンはカウントされない」というのはマイクロソフトがHyper-V等で推し進める仮想化の促進とは矛盾するためでしょう、SP2からは仮想環境も台数としてカウントされるように仕様変更されました。
※と、いうことはKMSキーをどこかから入手してきて、あとは仮想マシンをバンバン作成してあげれば不正につかえてしまう気もしますが…まぁ、接続元IPなどから判断はできるでしょうからね…。
この台数以下しかマシンが存在しない環境ではすべてMAKキーを利用する必要があります。KMSに比べて面倒ですが、一度やってしまえばいいわけですから許容範囲だ、という考えなのでしょう。
よくある問題
以下、よくある問題です。
KMSホストが乱立する
Volume Activation 2.0をよく理解せずにあちこちのクライアントでKMSキーを使ってインストールをしてしまうようなことがよくあります。そうすると社内にKMSホストが乱立し、25台以上にならないので、そのうち使えなくなる…なんていうことがあります。
KMSホストはDNSに自身がKMSホストであることを表すSRVレコードを登録しますので、そこをみると、どれがKMSホストとして動いているのかがわかります。
- _vlmcs._tcp.<your DNS domain>.
このレコードを確認して、そこにKMSホストではないはずのものがたくさん並んでいたら以下の手順を参考に動作を変更させましょう。
- [Ask the Core Team : KMS_Error_0xC004C008_Activating_Client](http://blogs.technet.com/askcore/archive/2009/03/09/kms-error-0xc004c008-activating-client.aspx)
KMSホストとの接続ができない(認証ができない)
KMSクライアントはKMSホストとTCPの1688番で通信します。FireWall等で通信ポートを制限していることにより、ライセンス認証ができないというトラブルが起こりえます。1688番は通信可能にしましょう。
MAKキーが通らない
MAKキーは1つのキーで10台までアクティベーションできます。この数を超えるとそのキーではアクティベーションできなくなります。この場合MSのライセンス認証窓口まで電話をして、上限を上げてもらうことになります。ライセンス管理のみを目的にしているのでとくに追加費用などは必要ありません。
コマンド
Volume Activation 2.0関連の操作はslmgrというコマンド(正確にはvbscript)で行います。以下によく使うであろうコマンドを紹介しておきます。
キーのインストール <slmgr -ipk key>
「slmgr -ipk key」でキーのインストールを行います。これはKMSホストであってもMAKホストであっても同じです。入力するキーによって結果が異なることになります。
「一度MAKキーを入力したんだけれども、KMSクライアントに変更したい」というようなときには以下のKMSクライアントのセットアップキーを入力してあげることで、KMSクライアントとして動作するようになります。
- [ボリューム アクティベーション 2.0 展開ガイド](http://technet.microsoft.com/ja-jp/library/cc303280.aspx#XSLTsection146121120120)
アクティベーションの状態を調べる <slmgr -xpr>
「slmgr -xpr」でアクティベーションの状態を調べることができます。きちんとKMSで認証できている場合には以下のようにライセンス認証が切れる日時が表示されます。
アクティベーションを実行する <slmgr -ato>
「slmgr -ato」で実際にアクティベーションを実行させることができます。これで「製品は正常にライセンス認証されました」と表示されれば安心です。
以下のように認証できなかった場合にはKMSホスト側で対応を行うなり何らかの作業が必要になります。ほおっておくとそのうち使えなくなってしまうので、早急に対応しましょう。
上記はKMSクライアント上の画面ですが、KMSホスト上で今すぐアクティベーションを実行する際もコマンドは同じです。
KMSホストの確認 <slmgr -dli, slmgr -dlv(詳細モード)>
「slmgr -dli」、「slmgr -dlv」で、KMSホストの確認が行えます。以下はKMSクライアントから実行した画面です。
KMSホストで実行すると以下のように現在このKMSホストで管理しているKMSホストの数が「現在の数」として表示されます。
KMSホストの変更(指定) <slmgr -skms ipaddress>
KMSクライアントからKMSホストを明示的に変更する場合には「slmgr -skms」コマンドを実行します。KMSホストは一度使い出したら基本的に変更されないので、負荷分散構成にしたい場合にはこのコマンドで明示的に変更する必要があります。
古いKMSサーバーのエントリをクライアントから削除 <slmgr -ckms>
「slmgr -ckms」コマンドで古いKMSサーバーのエントリをクライアントから削除できます。KMSサーバーを入れ替えるとき、削除するときに実行しておくと、クライアント側での認証がスムーズに行われるはずです。
実際のクライアント展開作業では
実際のクライアント展開作業ではまずKMSホストの構築が必要になるわけですが、この際にインターネット経由でマイクロソフトとの通信が発生しますので、念のため客先で実行するのがよいと思います。
※具体的には「slmgr -ipk key」でのKMSキーの入力と「slmgr -ato」でのアクティベーション作業です。
ではその間クライアントのセットアップはできないのか…?というとそういうことはなくて、インストール後、30日は猶予期間がありますので、事前にOSのインストールは可能です。ただし、このままKMSホストが存在しているネットワークに接続し、DHCPでIPに加えてDNSドメインが配布されるとそのネットワークのKMSホスト経由でアクティベートされてしまいますので、KMSホストが存在するネットワークには接続してはいけません。
KMS クライアント コンピュータをインストールする KMS アクティベーションを有効にするためにクライアント システムに対して行う必要があることはほとんどありません。ボリューム ライセンスメディアを使用してインストールしたシステムでは、既定では KMS ホストが自動的に検索されます。KMS ホストが見つかる場合、追加の操作は必要ありません。クライアントでは、まず、KMS SRV レコードのプライマリ DNS サフィックスによって指定された DNS ドメインを確認します。SRV レコードが見つからない場合、ドメインに参加しているコンピュータが Active Directory DNS ドメインに対応する DNS ドメインを確認します。ワークグループに参加しているクライアントコンピュータは動的ホスト構成プロトコル (DHCP) で指定されている DNS ドメイン (Request for Comments [RFC] 2132 のオプション 15) を確認します。
KMS アクティベーションの実装 また、クライアントのセットアップにはイメージングの手法を使うことが多いと思いますが、その際にはsysprepを実行し、CMIDを変更しないと正常に動作しません。以下も参考にしてください。
- [sysprepの意味](https://windowsadmin.ebisuda.net/2009/01/17/sysprep%e3%81%ae%e6%84%8f%e5%91%b3/)
参考
- [10 分で分かる! ボリューム アクティベーション 2.0(VA2.0) 概要説明動画](http://www.microsoft.com/japan/windowsserver2008/volume-activation.html)
- [ボリューム アクティベーション 2.0 (Volume Activation 2.0) とは](http://www.microsoft.com/japan/licensing/vl/activation/va/VolumeActivation.mspx)
- [MAK ライセンス認証とは](http://www.microsoft.com/japan/licensing/vl/activation/va/MAK.mspx)
- [KMS ライセンス認証とは](http://www.microsoft.com/japan/licensing/vl/activation/va/KMS.mspx)
- [Volume Activation 2.0](http://technet.microsoft.com/ja-jp/library/cc770903(WS.10).aspx)
- [Windows Server 使い倒し塾 : ボリュームライセンスの Vista, 2008 のライセンス認証 - Volume Activation 2.0](http://blogs.technet.com/windowsserverjp/archive/2009/07/26/3267969.aspx)
- [フィールドSEあがりの安納です : 【Windows Server 2008】Volume Activation 2.0 ~ あなたの Vista アクティベーションされてますか?](http://blogs.technet.com/junichia/archive/2008/04/10/windows-server-2008-volume-activation-2-0-vista.aspx)
- [フィールドSEあがりの安納です : 【Management】KSM(Key Management Service) に関する情報とTIPS](http://blogs.technet.com/junichia/archive/2009/03/11/3211548.aspx)
- [ボリューム アクティベーション 2.0 KMS 編 ステップ バイ ステップ](http://www.microsoft.com/downloads/info.aspx?na=22&p=2&SrcDisplayLang=ja&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3dd69b1b7c-b393-4537-89b8-bfab153ee9db%26DisplayLang%3dja)
- [ボリューム アクティベーション 2.0 MAK 編 ステップ バイ ステップ](http://www.microsoft.com/downloads/info.aspx?na=47&p=1&SrcDisplayLang=ja&SrcCategoryId=&SrcFamilyId=d69b1b7c-b393-4537-89b8-bfab153ee9db&u=details.aspx%3ffamilyid%3d302BE39D-E217-4313-A7A7-FD9FCCE5BE3A%26displaylang%3dja)
- [Volume Activation 2.0 for Windows Vista and Windows Server 2008](http://technet.microsoft.com/en-us/library/bb892849.aspx)
- [いよいよ「ボリューム・ライセンス版Windows」にもアクティベーションが必要に - ニュース:ITpro](http://itpro.nikkeibp.co.jp/article/NEWS/20061006/250122/)