KMS認証サーバを作ってみる。

Windows 10 のKMSホストキーをゲットした。仮想PCソフトを駆使してKMS認証サーバーを普通のPC1台だけでできる限り手間をかけずに構築した覚え書き。

MSDN(VS)サブスクリプションの期間が間もなく終了する。節約のため更新はしないので、この先は取得したツールとライセンスでしばらく過ごさなければならない(MSDNはサブスクリプション終了後も取得したライセンスキーは使っても良い契約になっている)。Visual Studioは静的VLキーなので問題ないとして、Windowsクライアント類が問題になる。物理マシンはそうそう交換するわけでは無いので20回くらいWindows10ProかEnterpriseの認証ができれば困ることは無いが、仮想マシンは作成しては捨てていくような使い方をしているからいずれ上限に達するはず。マシン構成が記述されたファイル、VMwareであれば.vmxとディスクイメージ(空でも良い)を保管しておけば認証回数をカウントアップせずにアクティベーションできるが、自由度が低いし、正直管理が面倒。

インターネット接続無しでも仮に自宅にKMS認証サーバがあれば半年に一度以上認証をかけ続けることで正規ライセンス認証が通った状態を保てる。それは知っているがKMS認証サーバにはクライアントPC25台以上という一般家庭においては途方もない要件が課されているので躊躇していた。今回MSDNサブスクリプションが終了する記念にWindows10とWindows Server 2019のKMSキーをもらうことに無事成功KMSホストキーをもらうことに無事成功したから、面倒なのをあきらめてKMS認証サーバを立てることにした。

次のシチュエーションでKMS認証サーバを構築するミッション。

・認証サーバはVMWare Workstation 14上のWindows 8.1 Pro 32ビット版を使う。
Windows10は年一回の大型更新が面倒なため、すでに延長サポートに入ったWin8.1を採用。リソースを抑えたいので32ビット版を選択。KMSキーはWindows 10用のものだがWin8.1でもアップデートを入れるとホストキーを適用して自機以外のWin10の認証を行うことができる。

・宅内LANのDNS、DHCPはいじらない。AD(Active Directory)も構成しない。
そもそもブロードバンドルータのDNSリレーとDHCPしか使ってないので複雑なことはできない。

・認証を開始させるため、VMWareの仮想PCを使って25台以上のクライアントWindowsをとにかく認識させる。
しきい値を超えて認証を開始しだしたらイメージを保存して認証サーバに「永遠の命を与える」。これが今回の目標。KMSホストキーは6台10回までという厳しい制限が課されているから一度のホストキー認証も無駄にはできない。今のところMSDNサブスクリプション契約終了後もキーの認証は行えるが、MSの気が変わってTechNetみたいに終了後はキーを無効にされるかもしれないし。

・あまり手間はかけたくない。

先に結果だけ。認証サーバの「Win81ProKMSSvr」がWin10Pro Workstationを認証したところ。

Win10KMSActivate

やりかた (細かいところは順次追記予定)

1.VS事務局に電話をして「MSDNサブスクリプションでWINDOWS 10のKMSホストキー欲しい。」と伝える。

2.数日後VLSCにKMSホストキーが表示されるので控える。

3.KMS認証サーバにするためWindows 8.1 ProをVMWareのゲストに1インスタンス作成。

・Retail、MAKキーの登録は不要。
・名前は「Win81ProKMSSvr」(何でもよい)。
・VMWareの簡易インストール設定で自動ログオンを有効にしておく。
・メモリ2GB、CPU 2コアくらいで十分。
・IPアドレスは固定。ここでは192.168.10.10/24にした。宅内LANの状況に合わせる。
・Windowsファイアウォールで認証サービスを有効にする。

後はWindows Updateをひたすら行う。(RetailキーやMAKキーはいれなくてもよい) インスタンスはC:\VM以下に作成。

4.KMSホストキーをインストール。
管理者コマンドプロンプトで slmgr /ipk

5.KMSホストキーのオンライン認証を行う。
管理者コマンドプロンプトで slmgr /ato

6.クライアントWindowsとしてWindows 8(8.0)Pro 32ビット版を1インスタンス作成。

・名前は「Win8ProVLKMSCli」(後のバッチファイル内で指定する)。
・VMWareの簡易インストール設定で自動ログオンを有効にしておく。
・メモリ2GB、CPU 2コアくらい。
・Windows Updateは不要。
・IPアドレスはDHCPで配布。
Win8を使うのはリソースの要件が8.1や10より低いことと、Vistaや7より仮想マシン上での動作が軽いため。

7.クライアントWin8の設定を行う。複製時にCMIDを変更してKMS認証を行うためのスクリプトと仕掛けを組む。

7-1.KMSサーバのアドレスを登録
仮想マシン内で slmgr /skms 192.168.10.10 を実行。(アドレスはKMS認証サーバ(Win8.1)のアドレスに合わせる)

7-2.CMIDリセット用スクリプトの配置
[Win8の仮想マシン内に置くC:\TEMP\rearm.bat]

if exist c:\temp\out.txt goto end
cscript c:\windows\system32\slmgr.vbs /rearm > c:\temp\out.txt
schtasks /Delete /TN rearm /F >> c:\temp\out.txt
shutdown /r /t 0
:end

rearm.batファイルを仮想Win8内に配置したら、同じ仮想マシン内の管理者コマンドプロンプトでタスクを登録する。

schtasks /Create /TN rearm /TR c:\temp\rearm.bat /RU SYSTEM /SC ONSTART /RL HIGHEST /NP /F

8.クライアントWin8のスナップショット(VMWareの機能)を作成。
スナップショット名は「newclient」

9.VMwareのリンククローン機能でクライアントWin8を25インスタンス複製する。ここで使うスクリプトが手抜きポイント。

[物理マシンに置くclientvm.bat]

set path=C:\Program Files (x86)\VMware\VMware Workstation;%path%
set num=01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
goto %1
goto end

:create
for %%n in (%num%) do (
	md C:\VM\Win8ProVLKMSCli-Lnk%%n
	vmrun -T ws clone C:\VM\Win8ProVLKMSCli\Win8ProVLKMSCli.vmx -snapshot=newclient C:\VM\Win8ProVLKMSCli-Lnk%%n\Win8ProVLKMSCli-Lnk%%n.vmx -cloneName=Win8ProVLKMSCli-Lnk%%n linked
)
goto end

:startstop
for %%n in (%num%) do (
	vmrun -T ws start C:\VM\Win8ProVLKMSCli-Lnk%%n\Win8ProVLKMSCli-Lnk%%n.vmx
	choice /t 80 /c:c /d:c /m:Waiting...
	vmrun -T ws stop C:\VM\Win8ProVLKMSCli-Lnk%%n\Win8ProVLKMSCli-Lnk%%n.vmx
)
goto end

:deleteVM
for %%n in (%num%) do (
	vmrun -T ws deleteVM C:\VM\Win8ProVLKMSCli-Lnk%%n\Win8ProVLKMSCli-Lnk%%n.vmx
)
goto end

:end

このバッチファイルを使って物理マシン(VMWareホストマシン)で clientvm.bat create とするだけで25台分のリンククローンのインスタンスができる。

10.クライアントWin8の起動→終了を25インスタンス分行う。スクリプトは同じもの。この間もKMS認証サーバのインスタンスは動かしておく。

clientvm.bat startstop でVM起動→OS起動→rearm.batによる自動再設定→OS再起動→自動ログオン→VMシャットダウンが順次行われる。VMシャットダウンの待ち時間80秒はバッチのchoice /t 80のところで指定されているので物理マシンの速度に応じて調整する。

11.KMS認証サーバ側で状態を確認する。「現在の数」が25以上になり、クライアントWin8が認証を受けていたら完成。
slmgr /dlv

12.KMS認証サーバのインスタンスを保存する。クライアントWin8のインスタンスは要らない子なのですべて削除してもよい。

clientvm.bat deleteVM で25個のリンククローンがすべて消える。

物理マシン25台なんて一般家庭ではなかな用意できないが仮想マシンを使えば実に簡単。サーバ1+クライアント25インスタンスを同時起動する必要は無いのでマシンパワーもそれほど必要ない。

※実際にはこの手順外でKMSサーバは宅内LAN側NIC(DHCPクライアント)と閉じた仮想NWにつながるNIC(ローカル固定IP)の2I/F構成にして、25インスタンスのKMSクライアントは閉じた仮想NW経由でKMSサーバにつなぐようにしている。KMSクライアントがインターネットにつながるのがなんとなく嫌だし。この状態でも25台の仮KMSクライアント以外の物理マシンは宅内LANにつながるNIC側からつなぐことで認証が行える。

後から気づいたが、「現在の数」は一か月ほど経って認証されないものがあると減っていくので月一程度でこのスクリプトを動かして「現在の数」を維持する必要がある。もしくは180日に一度クライアントを認証するそのときに「現在の数」を回復するためにスクリプトを動かすかどちらか。まあ、タクススケジューラにスクリプトを登録しておけばノータッチの放置プレイで30分程度で終わる作業なのでそれほど負担でもない。

広告

MSDNでボリュームラセインスキーを発行してもらう。

MSDNサブスクリプション、もといVisual Studio Professionalサブスクリプションの連絡先がややこしい。

そろそろMSDNサブスクリプションの期限が切れる。更新しないことにしたので、記念にいくつかのライセンスキーを取得しておくことにした。
参考:
msdnサブスクリプションを使ってみる
msdnのvlkeyを有効にしてみる。

Visual Studioサブスクリプションのサブスクライバダウンロードとそれで使える製品のプロダクトキーはMy Visual Studioのサイトで取得できることになっている。

My Visual Studio
https://my.visualstudio.com/Subscriptions

ここではRetailキーを1日あたり上限10キーまでオンラインで要求することができ、その場でキーを取得できる。

またVisual Studio ProfessionalサブスクリプションをOpenライセンスで取得している場合は通常のRetailキーの他にボリュームライセンスキー(MAKキー、KMSキー、VLキーなど)も使えるのだが、ボリュームライセンスキーはMy Visual Studioでは確認できなくて、管理者がVLSCで確認することなっている。

VLSC ボリュームラセインスサービスセンター
https://www.microsoft.com/Licensing/servicecenter/default.aspx

で、MSDNサブスクリプションではたくさんのVL製品が使えるのに、初期状態ではVSとWinServerの一部しか発行してくれないので追加で要求する必要がある。これが実に面倒で、オンラインではできずにMy Visual Studioでキーの要求リンクを押すと管理者経由でVLSCから取得するようにと促される。そしてVLSCでキーを取得しようとするとライセンス認証専用窓口0120-801-734へ電話をせよ、と書かれているのでそこへ電話をかけるとライセンス認証専用窓口ではMSDNサブスクライバ用の評価開発用キー発行がはできないのでVisual Studio事務局へ電話せよ、と言われる。MSDNの開発用ライセンスキーは通常のVLキー発行とは異なる。

vlkey-1

vlkey-2

とどのつまり、MSDN特典の開発用ライセンスキーの取得は、最初からVS事務局(旧MSDN事務局)0120-75-0052へ電話をすればいい、というだけ。

事務局に電話をするときに必要になるのが、VLSCで確認できる「ライセンス契約の種別」の番号。OpenライセンスであればOPEN…から始まる番号。電話をするときはVLSCで当該契約の「ライセンス詳細」画面を開いておく方がまごつかない。My VSサイトで確認できる「契約の詳細」を聞かれることもあった。ほかに契約中のメールアドレス、フル氏名、連絡用の電話番号を聞かれた。ほかにはキーが欲しい製品の詳細な名称も調べておく。Windows 10であれば「Windows 10 Professional」とか、Windows Server 2008であれば「R2 Standerd」とかのエディションを特定できるように。

以前は旧MSDN事務局に電話する必要もなくて通常のライセンス認証専用窓口で即時発行されたが、今はVS事務局経由で後日発行。面倒だけどサブスクリプション期間中なら欲しいライセンスキーをガバガバ発行してくれるんだから利用しない手はない。

もうMS製品は食傷気味になったので、MSDNとWindowsのSAが終わったらしばらくUbuntuで生活しよう。

韓国アニメは日本にも受け入れられるか。

ハングルで書かれたウェブページを解読したくて覚え始めたら、Youtubeでいろいろな韓国語の動画を見るようになった。

最近韓国の子供向け動画を見始めた。まだ知っている単語や言い回しをなんとか拾える程度で韓国語を理解できるというにはほど遠い。子供向けでこれだから韓国ドラマを字幕なしで見るにはまだまだ時間がかかりそう。南北朝鮮の子どもたちはこういう言葉で楽しんでいるのと思うと感心する。

日本のアニメは「日本国内では」世界一と聞かされているが、実際はどうなのか。

韓国アニメ、世界キッズ市場で第2の全盛期 – 中央日報
https://japanese.joins.com/article/j_article.php?aid=202938

韓国の新聞記事だし自画自賛で話半分としても、昨今の韓流ブームを見るにつけ各国への売り込みは成功しているのだと思う。この記事で取り上げられている「콩순이(コンスニ)」、女児向けアニメで現在韓国では女児からの絶大な人気を誇るらしい。Youtubeで見てみるとなかなかおもしろい。シリーズ名では「엉뚱발랄 콩순이와 친구들」(オンットゥンパルラル コンスニワ チングドゥル:とってもはつらつ コンスニとお友達)となっている。

フル3D CGアニメーションで動きがキモかわいい。子供向けで話自体は簡単なので言葉が分からなくても楽しめる。コンスニの母親は表情が育児ノイローゼ気味だと思う。出てくるあらゆるものが徹底的に商品化を意識していて正直子供にはあまり見せたくない気もするが、止められないだろう。

今のところ日本では調べても個人ブログが数件と自動翻訳のアマゾン商品ページが引っかかるくらいであまり知られていないが、韓国ではアニマックスやKBSやディズニーチャンネルが噛んでいるし日本語化は時間の問題かも。英語版はすでに有り「Kongsuni and Friends」で展開している。

韓国ドラマやK-popは日本にも十分影響を与えたが、韓国アニメは今の日本に十分浸透しているとはいいがたいし、今後の動向はサプライヤーのさじ加減ひとつだと思う。