こんにちは、阿久津です。Microsoftウォッチャーとして海外で有名なPaul Thurrott(ポール・スロット)氏が「Windows IT Pro」に寄稿した記事によりますと、Windows 8.1がRTM(Release To Manufacturing version:製造工程版)に達したそうです。同氏はWindows 8.1 RTMのビルド番号が「9600.16384.130821-1623」となり、実際には23日(現地時間)に開発が完了したと記事で述べていました。

本誌でも報じられたMicrosoft CEOであるSteve Ballmer(スティーブ・バルマー)氏の退任も、Windows 8.1の完成を踏まえての行動だったのでしょう。Ballmer氏については別の機会に述べますが、興味深いのはBill Gates(ビル・ゲイツ)氏のアクションです。記事では「特別委員会を組織し、バルマー氏の後任者を社の内外を問わず検討する」とありますが、1997年にSteve Jobs(スティーブ・ジョブズ)氏がAppleに復帰したように、Gates氏が現場に戻る必要があるのかも知れません。

さて、今週は読者からの質問にお答えします。いただいた電子メールによりますと、Windows XP時代はnLiteというツールでカスタマイズしたセットアップCD-ROMから環境を構築し、「コンピューター」のコンテキストメニューから「サービス」を起動していたとのこと。そもそもnLiteは、Windows OSのService Pack統合や不要コンポーネントの削除、レジストリエントリの編集によるカスタマイズなどを事前に行うセットアップCD/DVD-ROM作成ツールです。

筆者もWindows XP時代には何度か使ったことがありました。しかし、同ツールがサポートしているのはWindows 2000およびWindows XPのみ。Windows Vista以降のOSには公式に対応していないため、その存在をすっかり忘れていました。Windows 7を対象にしたRT Se7en Liteというツールも公開されていますが、筆者は試していません。しっかりと調べていませんが、Windows 8向けの同種ツールもリリースされていないようです。

そもそも「コンピューター」には、GUID(Globally Unique Identifier:グローバル一意識別子)として「20D04FE0-3AEA-1069-A2D8-08002B30309D」が割り当てられています。同特殊フォルダーのコンテキストメニューに、HKEY_CLASSES_ROOT\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shellキーで各機能(メニュー項目)を追加できるのは、レジストリを用いたチューニングに慣れている方なら既にご承知でしょう。

例えば同コンテキストメニューの<管理>は、HKEY_CLASSES_ROOT\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manageキーで基本内容を定義し、HKEY_CLASSES_ROOT\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manage\commandキーの(既定)で「コンピューターの管理」を実行する「%SystemRoot%\system32\CompMgmtLauncher.exe」を指定しています(図01~02)。

図01 「コンピューター」のコンテキストメニューには<管理>が並んでいます

図02 <管理>は、HKEY_CLASSES_ROOT\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Manageキーの内容によって実現しています

その一方で今回の読者の方が希望する「サービス」は「services.msc」というMicrosoft Common Console Documentファイルを実行して起動する仕組み。つまり、HKEY_CLASSES_ROOT\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shellキーに同様のエントリを作成することで、コンテキストメニューに<サービス>を加えることが可能になります。今週はこのチューニングをお届けしましょう。

1. 管理者権限でレジストリエディターを起動します。
2. HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shell\Servicesキーを作成します。
3. Servicesキーの(既定)を開き、値のデータを「サービス(&S)」に変更します。
4. 文字列値「HasLUAShield」を作成します。
5. Services\commandキーを作成します。
6. commandキーの(既定)を開き、値のデータを「mmc services.msc」に変更します。
7. [F5]キーを押してから、レジストリエディターを終了します。

これでチューニングが完了しました(図03~13)。

図03 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図04 レジストリエディターが起動したら、HKEY_CLASSES_ROOT\CLSID{20D04FE0-3AEA-1069-A2D8-08002B30309D}\shellまでキーをたどって開きます

図05 shellキーを右クリックし、メニューから<新規>→<キー>とクリックします

図06 キー名を「新しいキー #1」から「Services」に変更します

図07 Servicesキーをクリックして開き、「(既定)」をダブルクリックします。値のデータを「サービス(&S)」に変更して<OK>ボタンをクリックしてください

図08 右ペインの何もないところを右クリックし、メニューから<新規>→<文字列値>とクリックします

図09 値名を「新しい値 #1」から「HasLUAShield」に変更します

図10 Servicesキーを右クリックし、メニューから<新規>→<キー>とクリックします

図11 キー名を「新しいキー #1」から「command」に変更します

図12 commandキーをクリックして開き、「(既定)」をダブルクリックします。値のデータを「mmc services.msc」に変更して<OK>ボタンをクリックしてください

図13 [F5]キーを押した後、<×>ボタンをクリックして、レジストリエディターを終了させます

早速結果を確認してみましょう。タスクバー上のボタンをクリックするか、[Win]+[E]キーを押すなどしてエクスプローラーを起動してください。ナビゲーションウィンドウにある「コンピューター」を右クリックしますと、コンテキストメニューに<サービス>が加わったことを確認できることでしょう。そのまま[S]キーを押すか、同項目をクリックしてください。これで「サービス」が起動しました(図14~15)。

図14 [Win]+[E]キーを押してエクスプローラーを起動し、「コンピューター」を右クリックします。[S]キーを押すか、メニューの<サービス>をクリックしてください

図15 これで「サービス」が起動可能になります

今回行ったチューニングに対し、簡単に解説しておきましょう。まずステップ2で作成したServicesキーの名称は任意のもので構いません。同キー内にある文字列値「HasLUAShield」はシールドアイコンを加えるためのものであり、不要であれば作成しなくてもいいでしょう。展開可能な文字列値「MUIVerb」は多言語利用時に参照する文字列リソースを指定するものです。今回はステップ3で項目名を指定しましたので、こちらも作成しませんでした。

DWORD値「SuppressionPolicy」はWindows OSに対して事前に設定したポリシーを反映するためのエントリです。例えばネットワーク上のコンピューター検索機能を無効にしている場合、アプリケーションに対しても同様の制限を設けることが可能ですが、特に問題がないと思いましたので作成しておりません。ポリシーの内容はRESTRICTIONS enumerationで解説されていますので、必要な場合は各フラグを計算して適用してください。

このロジックを応用することで、異なるコマンドをコンテキストメニューから起動することが可能です。お使いのスタイルに応じて異なるチューニングを試してください。

それでは、また次号でお目にかかりましょう。

阿久津良和(Cactus