Windows 7 の Troubleshooting Pack を作ってみよう (1)
今回は Windows 7 で実行可能なトラブルシューティング パックを自作してみたいと思います。
まず、Windows 7 の SDK が必要となりますので、これをダウンロードしてインストールします。
インストールが完了すると、下記のように Windows Troubleshooting Pack Designer があるのがわかります。 これを使って作成します。
起動した画面
ここで、Project メニューから New を選んで作成していくのですが、何の問題に対して修復するのかというシナリオを考えておかないといけません。
そこで今回は、「Windows XP や Windows Vista の環境に Windows 転送ツール等でデータを吸い上げずに、Windows 7 を入れちゃって、Windows.old からデータを吸いあげる」 というシナリオでいきたいと思います。
Root Cause としてはいくつも登録できるのですが、今回は1つだけで行きます。 このシナリオでは Fix のために USMT を使うので、Windows Automated Installation kit が必要となります。
料理番組のようで申し訳ないですが、すでに出来上がっているプロジェクトが下記です。 実際 New を選んだ後は、ウィザード形式で進めていくので、この画面までは比較的簡単にできます。
では順番にそれぞれの内容のスクリーンショットを載せていきます。 下図は Root Cause のメイン画面です。 複数の Root Cause に対しての torubleshooting pack を作る場合には、この Root Cause の項目がたくさん存在することになります。
下図はトラブルシューターを動かすときの基本的な設定です。
最初のオプションは管理者モードで実行させる必要があるかどうかです。 今回は USMT のツールを実行するので、ここは必須で管理者モードで実行させる必要があります。
次のオプションはユーザーに質問項目を表示させて、その内容を元に判断する必要があるかというものですが、今回は必要ないので No を選んでいます。
どのような場合に使われているかというと、デフォルトで Windows 7 に入っているトラブルシューターの [プログラムの互換性] で、ユーザーが選ぶ箇所があります。 そういったインターフェースを表示して入力を求めるかどうかですね。
下図は Resolver の設定です。 ここでは 3 つのオプションがあるのですが、先の画面と違うのがプロンプトを表示する必要があるかどうかです。 何らかのメッセージを表示する必要があるときは、ここを Yes にしますが、今回のシナリオでは No でいきます。
後の 2 つのオプションは先の画面と同じで、Troubleshooter ですでに管理者権限を要求しているので、ここでは No で OK です。
というのは、 Windows 7 の場合プロセスが一度管理者権限で起動した場合、それ以降はすべて管理者権限として動くので、あえて設定する必要がないのですが、 Troubleshooter で No を設定して、実際の Resolver で管理者権限が必要になるようであれば、ここで Yes を選びます。
下図は Verifier の画面です。 問題が Fix されたかどうかを確認する部分です。
これを設定しないと最後のトラブルシューターがちゃんと緑のチェックマークで終わりませんでしたので、最初のオプションは Yes を選び、次のオプションは No を選びます。 残りの 2 つは一番最初の画面と同じです。
下図が Scripts の画面です。
上記 3 箇所の設定に相当するスクリプトが下記の 3 つとなり、具体的な 3 つのスクリプトを記述することで、1 つの Root Cause を Fix するトラブルシューティング パックとなります。
次は具体的なスクリプトの記述に入っていきます。
次はスクリプトを書いていきます。