Windows TIPS
[System Management]
  Windows TIPS TOPへ
Windows TIPS全リストへ
内容別分類一覧へ

MBSAをオフラインで実行する

―― インターネット非接続PCのセキュリティ・パッチ適用状況をMBSAで調査する ――

解説をスキップして操作方法を読む

デジタルアドバンテージ 島田 広道
2008/07/25
対象OS
Windows 2000
Windows XP
Windows Server 2003
Windows OSやマイクロソフト製アプリケーションのセキュリティ・パッチの適用/未適用状況は、MBSAという無償ツールで調査できる。
しかしマイクロソフトのサイトに接続できない環境では、パッチ情報の最新版が取得できないなどの理由から、最新パッチの適用状況がスキャンできない。
更新の必要なファイルを手動でダウンロードしてスキャン対象コンピュータに配布すれば、オフラインでもスキャンできる。

解説

運用:MBSA 2.0日本語版

 Windows OSやマイクロソフト製アプリケーション(OfficeやSQL Serverなど)のセキュリティ・パッチの適用状況を調べるには、Microsoft Baseline Security Analyzer(MBSA)というマイクロソフト提供の無償ツールが便利だ。簡単なインストールと操作で未適用のセキュリティ・パッチをリストアップできる。

Microsoft Baseline Security Analyzer(MBSA)
MBSAはマイクロソフトが無償で提供しているWindows環境のセキュリティ・チェック・ツールである。Windows OSやマイクロソフト製アプリケーションに対して未適用のセキュリティ・パッチをリストアップするほか、管理者パスワードの脆弱度やポリシー設定の問題点などもチェックできる。画面は執筆時点での最新版であるVer. 2.1の例。

 MBSAはスキャン前に、デフォルトで最新パッチの適用状況をスキャンするのに必要なパッチ情報ファイル(カタログ・ファイル)や、スキャンに必要なコンポーネントの更新版などをマイクロソフトのサイトから自動的にダウンロードする。そのためインターネットに接続されていれば、これらのファイルやコンポーネントのバージョンを気にすることなく運用できる。

 逆にいえば、インターネット接続が制限されていると、前述のMBSAの自動ダウンロード機能が使えないため、必要なファイルの更新ができない。そのため最新パッチの適用状況が調査できなかったり、あるいはスキャンそのものが正常に実行できなかったり、といった問題が生じる。

 このような場合、更新の必要なファイルをインターネット接続可能な作業用コンピュータにて手動でダウンロードし、インターネット非接続のコンピュータに配布してからMBSAのスキャンを実行すればよい。本稿ではその手順を説明する。この方法であれば、まったくネットワーク接続のないコンピュータでも、USBメモリなどのリムーバブル・ストレージを使ってMBSAでスキャンが可能になる。

操作方法

 本TIPSでは、執筆時点で最新のMicrosoft Baseline Security Analyzer(MBSA) 2.1を取り上げる。また、スキャン対象コンピュータとは別に、インターネット接続の可能な作業用コンピュータを用意していただきたい。作業用コンピュータには一時的にMBSAをインストールするので、Windows 2000 Service Pack 3/Windows XP/Windows Server 2003/Windows Vista/Windows Server 2008のいずれかがインストールされている必要がある。

 以下の手順は、いずれも管理者権限を持つユーザー・アカウントで実施する。

手順1――Windows Update Agentなどのインストール

  まずスキャン対象コンピュータに対し、MBSAを実行するのに必要なコンポーネントをインストールする。この作業は1回だけ実行すればよい。

■Windows Update Agent(WUA)3.0のインストール
  MBSA 2.1でパッチ適用状況を調べるには、スキャン対象コンピュータにWindows Update Agent(WUA)3.0というコンポーネントをインストールする必要がある。Microsoft Updateや自動更新を利用しているコンピュータでは、WUAがバックグラウンドで自動的にインストールされる。逆にいえば、インターネット接続が制限されているとWUA 3.0がインストールされていない場合があるので、明示的にインストールした方がよい。

 WUA 3.0をインストールするには、作業用コンピュータに、以下のWUA 3.0のインストール・パッケージをダウンロードする。

 WindowsUpdateAgent30-x86.exeというファイルがダウンロードされるので、スキャン対象コンピュータにコピーして実行し、ウィザードに従ってインストールを完了させる。対話的操作なしにインストールするには、以下のコマンドラインで実行する。

WindowsUpdateAgent30-x86.exe /quiet

■Windows Installer 3.1のインストール
  Windows 2000/Windows XP Service Pack 2以前/Windows Server 2003 Service Pack未適用において、Windows Installerのバージョンが3.1より古い(%SystemRoot%\system32\msi.dllのファイルバージョンが3.1.0.0より小さい)場合は、Windows Installerも更新した方がよい。

 本稿執筆時点では、Windows Installer 3.1.4000.2435のインストール・パッケージであるWindowsInstaller-KB893803-v2-x86.exeがダウンロードできる。WUA 3.0と同じくスキャン対象コンピュータにコピーして実行し、デフォルト設定のままウィザードを進め、指示に従って再起動すればよい。対話的操作の不要なインストール用コマンドラインは以下のとおり。

WindowsInstaller-KB893803-v2-x86.exe /quiet

■Windows 2000ではkernel32.dllのバージョンを上げる
  Windows 2000の場合、kernel32.dllのバージョンが古いとMBSA起動時に次のようなkernel32.dllのエラーが発生することがある。

Windows 2000でMBSA起動時に発生することがあるkernel32.dllのエラー
Windows 2000の場合、kernel32.dllのバージョンが古いと、このようなエラーが発生することがある。Windows 2000 SP4用の更新プログラム・ロールアップ1を適用してkernel32.dllを更新すると解消できる。

 筆者が試した限りでは、Windows 2000 SP4更新プログラム・ロールアップ1を適用してkernel32.dllを5.0.2195.7006に更新すると、このエラーは解消できた。

 サイレント・インストールのためのコマンドラインは以下のとおり。

Windows2000-KB891861-v2-x86-JPN.EXE /quiet

手順2――スキャンに必要な実行ファイルなどをMBSAから抽出する

 パッチ適用状況をスキャンするだけならMBSAをインストールする必要はなく、必要最低限のファイルをスキャン対象コンピュータにコピーすればよい。それには作業用コンピュータにて、以下のマイクロソフトのWebページからMBSAのインストール・パッケージをダウンロードしてインストールし、必要なファイルを抽出する。この作業も1回だけ実行すればよい。

 上記ページには複数の言語がリストアップされているので、日本語版すなわちMBSASetup-x86-JA.msiを選んでダウンロードし、デフォルト設定でインストールすればよい。

 インストール完了後、インストール先フォルダ(%ProgramFiles%\Microsoft Baseline Security Analyzer 2)をWindowsエクスプローラで開き、次の2つのファイルをスキャン対象コンピュータの適当なフォルダにコピーしておく(同じフォルダに配置すること)。

  • mbsacli.exe
  • wusscan.dll

 以後、作業用コンピュータにインストールしたMBSAは不要である。

手順3――最新のパッチ情報(カタログ・ファイル)をダウンロードする

 ここからの手順は、スキャンのたびに実施する必要がある。

 まず作業用コンピュータにおいて、最新のパッチ情報を収録したカタログ・ファイルを以下のWebページからダウンロードする。キャビネット形式のファイルwsusscn2.cabがダウンロードできるはずだ。

 ここでwsusscn2.cabに破損がないか確認する。それには、Windowsエクスプローラでwsusscn2.cabを右クリックして[プロパティ]を実行し、[デジタル署名]タブを選んで一覧から署名を選択後、[詳細]ボタンをクリックする。以下の画面のように「このデジタル署名は問題ありません」と表示されていれば、破損がなく、ファイルは正常である。

wsusscn2.cabのデジタル署名の例
wsusscn2.cabファイルのプロパティを開いて[デジタル署名]タブを選び、一覧から署名を選択後、[詳細]ボタンをクリックすると、この画面が表示される。デジタル署名が破損していたらダウンロードし直すこと。
このように表示されていれば、ファイルは正常で、破損していない。破損していると、「このデジタル署名は有効ではありません」などと表示される。

 デジタル署名を確認したら、wsusscn2.cabをスキャン対象コンピュータの適当なフォルダにコピーする(キャビネット・ファイルは展開せず、そのままコピーすること)。前述のMBSAの実行ファイルと同じフォルダでもよい。

手順4――パッチ適用状況のスキャンを実行する

 MBSAでスキャンを行うには、WUAのサービスを起動しておく必要がある。そこでスキャン対象コンピュータにおいて、[管理ツール]−[サービス]を実行して[Automatic Updates]または[自動更新]というサービスが停止していたら開始しておく。以下のコマンドラインを実行してもよい。

net start wuauserv

 これでスキャンの準備は完了だ。あとはMBSAを以下のコマンドラインで実行する。

mbsacli.exe /xmlout /unicode /nd /nvc /catalog c:\MBSA\wsusscn2.cab > c:\MBSA\mbsareport.xml
パッチ適用状況をスキャンするためのコマンドライン
スキャン結果はXML形式で「c:\MBSA\mbsareport.xml」に保存される。「c:\MBSA\wsusscn2.cab」のパスは、カタログ・ファイルの保存先フォルダにあわせて変更していただきたい。各オプションの意味は以下のとおり。

/xmlout: パッチ適用状況の調査のみ実行し、かつXML形式で結果を出力する。
/unicode: 出力結果の文字コードをUnicode(UTF-16)とする。
/nd: 実行中にマイクロソフトのサイトからのファイル・ダウンロードを抑止する。
/nvc: マイクロソフトのサイトへのMBSA新バージョン確認を抑止する。
/catalog: カタログ・ファイルの指定。ダウンロードしたキャビネット・ファイルへのパスを指定すること。

XML Notepad 2007でXMLファイルを表示/編集する

 スキャンが完了すると、その結果がXML形式で保存される。これはInternet Explorerでも閲覧できるが、関連記事のようなXMLビューア/エディタを利用した方が読みやすいだろう。なお、/Unicodeオプションを指定しないと、出力されるXMLファイルの文字コードがシフトJISとなり、XMLビューアなどでエラーが発生することがあるので注意すること。

自動更新などでCPU負荷が100%になる不具合を修正する

 スキャン完了までの時間が非常に長い、あるいはスキャン中のCPU負荷がずっと100%のまま、という症状が発生した場合は、Windows Installerの不具合が原因の可能性がある。関連記事を参照して、KB927891の修正プログラム適用をお勧めする。End of Article

この記事と関連性の高い別のWindows TIPS
クライアント・コンピュータのパッチ適用状態を集中的に調査する(MBSA)
自動更新などでCPU負荷が100%になる不具合を修正する
systeminfoコマンドでシステムの情報を収集する
トラブル対策のためのコンピュータ情報を効率よく収集する
グループ・ポリシーでWindows Updateの実行を禁止する
このリストは、(株)デジタルアドバンテージが開発した
自動関連記事探索システム Jigsaw(ジグソー) により自動抽出したものです。
generated by

「Windows TIPS」

TechTargetジャパン

Windows Server Insider フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ

- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH