
インテル® EMAでクライアントPCの管理を行う(トラブルシューティング編)
ブルースクリーンが多発した?
つい先日、世界各地のWindows PCがブルースクリーンエラーに見舞われてしまい、さまざまな業務で多大な影響が出てしまったという問題は 皆さんの記憶にも新しいところでしょう。今回の問題はサードパーティ製のセキュリティソフトウェアの更新モジュールの不具合に起因するもので、既にMicrosoft社やソフトウェアメーカーからも回避策が提示されています。
もし、自分の周りで起こってしまったら?
もしも自分の組織のPCがこの問題や似たような問題に遭遇してしまった場合、早急な復旧が求められますが実際のところ回復作業はどうしましょう?今回のケースでは作業の手順は分かっていますが・・・
社内のPC全台集めて作業しますか?各ユーザーの席へ出向いて作業しますか?
テレワークや出張などPCが自宅や外出先にある場合は?わざわざオフィスに持って来てもらいますか?それとも操作ミスなどによる二次災害覚悟でユーザーに作業してもらいますか?
ATMや空港のチェックインカウンター、POSレジのようにPCベースの端末だけど動かせない場合だったら?時間とコストを掛けて現地へ赴きますか?
いやいやいやいや、リモートで修復させられればダウンタイムも作業コストも手間も極力減らせるでしょう。そのためのvPro®プラットフォームです。
トラブルシューティングの実際
vPro®プラットフォームのAMT(Active Management Technology)をインテル® EMA(Endpoint Management Assistant) から利用してリモート作業をしてみます。なお、AMTはAdmin Control Modeでプロビジョニングされている必要があります(第14回・第15回を参照)。
リモートKVMで作業を行う
EMAのコンソールから目的のクライアントPCを表示させます。ブルースクリーンの出ているPCは電源は入っているものの、EMAのエージェントは動作していないのでこのようなステータス表示になっているはずです。電源が入ってない場合はActionsからWakeを選択して起動させます。

Hardware ManageabilityタブのRemote Desktop画面を表示し、Connectボタンを押すとリモートKVMでクライアントPCの画面に接続します。案の定、ブルースクリーン発生中です。クライアントPCのこのような画面をリモートで見られるのもAMTならではです。

自動再起動とブルースクリーンを繰り返すとWindows RE (Recovery Environment:回復環境) の画面に入ります。ここで修復作業を行います。
まずトラブルシューティングを選択します。

次に詳細オプションを選択します。

コマンドプロンプトを選択します。

コマンドプロンプトが表示されるので、回避策に従ってファイルの削除等を行います。

修復作業が終わったらPower ActionsでForce Resetを選択し、強制再起動を行います。

修復作業が成功すれば通常の起動が行われます。
回復メニューに入れない!
トラブルシューティングでは予期せぬ動作なんていうのもよくある話ですが、何らかの原因で回復メニューに入れない場合はどうすれば良いでしょうか?
そのような場合は Windows PE (Preinstallation Environment) のイメージを使って起動します。このイメージをAMTのリダイレクション機能を使ってマウントさせ、そこから起動させる事で実現出来ます。
Windows PEのイメージの作成は少々手間ですが、今回の件に限らずトラブルシューティングなどで役に立つので、日頃から用意しておいたほうが良いと思います。
イメージ作成の手順を簡単に説明すると、
1.下記のリンクを参考に「Windows ADK(Assessment and Deployment Kit)」と「ADKのWindows PEアドオン」のダウンロードとインストールを行います。
ADKのインストールにおいては必ずDeployment Toolsを選択してください。
2.下記のリンクを参考にWindows PEのイメージを作成します。
管理者権限で[展開およびイメージング ツール環境]を実行後、以下のコマンドを実行します。
copype.cmd amd64 c:\winpe_amd64
dism /mount-wim /wimfile:c:\winpe_amd64\media\sources\boot.wim /index:1 /mountdir:c:\winpe_amd64\mount
dism /image:c:\winpe_amd64\mount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab”
dism /image:c:\winpe_amd64\mount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab”
dism /image:c:\winpe_amd64\mount /add-package /packagepath:”C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-EnhancedStorage.cab”
copy C:\Windows\System32\en-US\manage-bde.exe.mui C:\winpe_amd64\mount\Windows\System32\en-US
dism /unmount-Wim /mountdir:c:\winpe_amd64\mount /commit
3.最後に作成したイメージをisoファイル化します。
MakeWinPEMedia /ISO C:\WinPE_amd64 C:\WinPE_amd64\WinPE_amd64.iso

出来上がったisoファイルをEMAにアップロードします。Storageのページでアップロードを行います。

アップロードに成功すると一覧に表示されます。

Endpointのページに戻ってActionsからMount an Imageを選択します。

先の一覧からWinPEのイメージを選択します。

正常にマウントが行われると、左下にリダイレクション中であることとリダイレクションされているイメージファイルの名前が表示されます。その下にあるBoot to this Imageを押してこのイメージでブートさせます。

Hardware ManageabilityタブのRemote Desktopで画面への接続を行うとCDやDVDからの起動時のように「Press any key to boot CD or DVD.」と表示されるので何かキーを押してイメージからの起動を続行します。

結構時間が掛かりますがWinPEで起動しました。あとは通常の起動ドライブにアクセスして復旧作業を行います。

こちらの場合も修復作業が終わったらPower ActionsでForce Resetを選択し、強制再起動を行います。
そうだ、BitLockerで暗号化していたんだった
BitLockerでドライブの暗号化を行っている場合は、当然ながら起動ドライブへのアクセスは行えません。アクセスしようとすると「This drive is locked by BitLocker Drive Encryption. You must unlock this drive from Contril Panel.」と表示されアクセスが拒否されます。これは正しい動作なのですが、困りました。

その場合は回復キーを使って一時的にロックの解除を行います。回復キーはBitLockerによる暗号化の開始時に保管していると思います。

manage-bdeコマンドで回復キーを渡して解除します。
manage-bde -unlock C: -recoverypassword XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX(回復キー)
先のWinPEのイメージ作成時にmanage-bdeを追加していたのはこのためです。ロックの解除に成功するとドライブへのアクセスも可能になるので、先程と同じように回復作業と強制再起動を行います。

EMA以外でも
今回はEMAでの例を紹介しましたが、もちろんEMAに限らずMeshCommander や Intel Manageability Commander(これはもう誰も使っていない?) のようなアプリケーションでも同じような手順でトラブルシューティングを行う事ができます。
と、ここまで書いたところで連絡がありました。Step-by-Step Guideだそうです。