連載
» 2017年12月12日 05時00分 公開

山市良のうぃんどうず日記(114):いつか役に立つかもしれない……勝手にMicrosoftのサポート情報を更新してみた(無保証)

最近、「Windows Update」が連続して問題になりました。このようなとき、セルフでトラブルシューティングするのに役立つのが「KB(Knowledge Base)」や「サポート技術情報」と呼ばれる、Microsoftが公開している膨大なサポート情報です。しかし、このサポート情報も何だかおかしなことになっています。

[山市良,テクニカルライター]
「山市良のうぃんどうず日記」のインデックス

山市良のうぃんどうず日記

文書のバージョン管理はやめた? 突然、分かりにくくなったサポート情報

 いつのころからかははっきりしませんが、MicrosoftのSupport情報は、以前のURL「http://support.microsoft.com/kb/<文書番号>」から、新しいURL「https://support.microsoft.com/en-us/help/<文書番号>」に移行してから(現在、古いURLは新しいURLにリダイレクトされます)、「KB(Knowledge Base)」や「サポート技術情報」とは表現されなくなっていました。また、サイトの移行に伴い、重要な情報が幾つか失われてしまったことも気になります。

 例えば、以下のWindowsのサポート情報は「Windowsのライセンス認証をリセット(システムライセンスファイルの再インストール)する方法」を説明したものです。筆者は、このトラブルシューティングが必要になる場面に遭遇してはいませんが、“いざ”というときに役に立つと思い、個人的にブックマークしています。


 このサポート情報では「Applies to multiple products ▽」というドロップダウンリストのような項目が目に付くと思います。実は、これをクリックしても何も起こりません。この「▽」の意味は、情報の中に書いてあるということを言いたいのでしょうか(確かに、バージョン別の記述はありますが)。そして、ページ内のどこを探しても、古くからのWindowsユーザーにはおなじみの文書管理の情報が見当たりません(画面1)。

画面1 画面1 現在のWindowsのサポート情報「2736303」のページ。対象製品が分かりにくい上、更新履歴も見当たらない

 以前は、少なくとも「最終更新日」と「更新回数(リビジョン)」は確認できましたし、そこで対象製品についても一目で確認することができました(画面2)。

画面2 画面2 「マイクロソフトサポート情報」と呼ばれていた以前の文書番号「2736303」のページ。文書管理の情報は、更新の有無や対象製品が分かりやすい

 新しいサイトのデザインや運用ルールの関係なのかもしれませんが、ちょっと不親切だと思うのは筆者だけでしょうか。しかし、数カ月前までは新しいデザインのページにも、確かに文書管理の情報が存在しました。

 以下の画面3は、2017年10月にWindows 10 バージョン1607およびWindows Server 2016向けにリリースされた累積的な更新プログラム「4041688」のサポート情報ページです。

画面3 画面3 累積的な更新プログラム「4041688」サポート情報ページ。画面左が2017年12月現在、右が2017年11月時点

 画面左が現在(2017年12月)の状態、右が2017年10月末時点のスクリーンショットです。更新プログラムのサポート情報は、問題が確認されると「既知の問題(Known issues)」リストにどんどん追加されていきます。しかし、更新情報がないと、あたかも最初から既知の問題であったかのように見えてしまいます。文書管理情報が削除されたことに、何かネガティブな意図を感じてしまいます。

サポート情報が古くてWindows 8.1/10には役に立たない

 ちょっと話が逸れましたが、今では内容が古くなってしまったWindowsのサポート情報「2736303」に戻りましょう。このサポート情報は、Windows Vista/Windows Server 2008以降を対象とした(前出の画面2を参照)、「Windowsのライセンス認証をリセットする方法」を説明したものです。

 コマンドプロンプトを「管理者として実行」で開き、次のコマンドを実行することでリセットできると説明されています(【注意】理由なくこれらのコマンドを実行しないように!)。

【Windows Vista/Windows Server 2008の場合】

net stop slsvc
cd %windir%\serviceprofiles\networkservice\appdata\roaming\microsoft\softwarelicensing 
ren tokens.dat tokens.bar 
net start slsvc
cscript.exe %windir%\system32\slmgr.vbs /rilc

【Windows 7/Windows Server 2008 R2の場合】

net stop sppsvc
cd %windir%\ServiceProfiles\NetworkService\AppData\Roaming\Microsoft\SoftwareProtectionPlatform
ren tokens.dat tokens.bar 

【Windows 8/Windows Server 2012の場合】

net stop sppsvc
cd %windir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\WSLicense
ren tokens.dat tokens.bar
net start sppsvc
cscript.exe %windir%\system32\slmgr.vbs /rilc

 上記コマンドラインを見るとすぐに分かると思いますが、Windows Vista以降、操作方法や「ライセンスファイル(tokens.dat)」の場所は、Windowsのバージョンごとに異なっています。しかし、このサポート情報は、Windows 8.1/Windows Server 2012 R2以降に関しては更新されていません。

 ちなみに、Windows 8の方法がそのまま使えるかどうか、Windows 10(バージョン1709)で試してみると、その場所にtoken.datはありませんでした(「WSLicense」ディレクトリも存在しませんでした)(画面4)。

画面4 画面4 Windows 10(バージョン1709)では、Windows 8で指定されている場所にtoken.datも「WSLicense」ディレクトリも存在しまい

 というわけで、Windows 8.1とWindows 10ではどうなっているのかも調べてみました。具体的な方法は省略しますが、Windows Sysinternalsの「Process Monitor(ProcMon)」ユーティリティーを使用して、slmgr.vbs実行時などに参照されるtokens.datのパスを調べ、同じくWindows Sysinternalsの「Strings」ユーティリティーでtokens.datに含まれている製品情報を調べました(画面5)。

画面5 画面5 Windows SysinternalsのProcess Monitor(ProcMon)を使用したtokens.datの捜索

勝手に更新版(無保証)の最新サポート情報「2736303」

 Windows 8.1およびWindows 10は、どちらも「%windir%\System32\spp\store\2.0\tokens.dat」を使用し、ここにWindowsのライセンス認証情報を保持しているようでした。また、Office 2016アプリケーション(古いバージョンは違うファイルの可能性があります)のライセンス認証情報も同じファイルに格納されているようでした。

 Windows 8.1は「%windir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\WSLicense\tokens.dat」、Windows 10は「%ProgramData%\Microsoft\Windows\ClipSVC\tokens.dat」という、もう1つのtokens.datを使用していました。これらは、ストアアプリ関連のライセンス認証情報を格納するために使用されているようです。「ようです」とあやふやにしているのは、正式な情報に裏付けられたものではないからです。

 というわけで、Windowsのサポート情報「2736303」に、勝手にこれらのWindowsバージョンの手順を追加するとしたら、次のようになります。個人的には、バックアップファイルの拡張子は「.bak」か「.old」にしたいところですが、古いサポート情報「2736303」にそろえました。

【Windows 8.1/Windows Server 2012 R2の場合】

net stop sppsvc
cd  %windir%\ServiceProfiles\LocalService\AppData\Local\Microsoft\WSLicense
ren tokens.dat tokens.bar
cd %windir%\System32\spp\store\2.0
ren tokens.dat tokens.bar
cscript.exe %windir%\system32\slmgr.vbs /rilc

【Windows 10およびWindows Server 2016の場合(注意:Windows 10のバージョンによって、今後さらに変わる可能性もあります)】

net stop sppsvc
cd  %ProgramData%\Microsoft\Windows\ClipSVC
ren tokens.dat tokens.bar
cd  %windir%\System32\spp\store\2.0
ren tokens.dat tokens.bar
cscript.exe %windir%\system32\slmgr.vbs /rilc

 “信じる、信じないはあなた次第”ということですが、どうしてもライセンス認証をリセットする必要がある、それしか道が残っていないという場合に限り、参考にしてみてください。

最新情報(2017年12月13日追記)

 本稿が影響したのかどうかは分かりませんが、「Applies to multiple products ▽」の問題が訂正され、サポート情報の(おそらく)全てのページ下部に「Last Updated:(最終更新日:)」が表記されるようになりました。


筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(Oct 2008 - Sep 2016)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows Server 2016テクノロジ入門−完全版』(日経BP社)。


Copyright© 2018 ITmedia, Inc. All Rights Reserved.

「Windows 7」サポート終了 対策ナビ

@IT Special

- PR -

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。