何でも屋: WSUS で更新プログラムを完全に適用するための 6 つのヒント

WSUS は、他に類を見ない優れた更新プログラム管理ソリューションですが、さらに便利に使用することができます。

Greg Shields

Windows Server Update Services (WSUS) は、間違いなくマイクロソフトの特筆すべき業績の 1 つです。多くの方は、WSUS の前身である Software Update Services (SUS) のことを覚えているでしょう。当時、ソフトウェア更新プログラムが公開されるときには、注意事項は、ほとんどなく、スケジュールどおりに公開されていました。市場には多数の更新プログラム管理ソリューションが出回っており、それぞれのソリューションには、重要な更新プログラムの公開に適切に対処できる固有の方法が用意されていました。

WSUS の登場により、このような更新プログラム管理ソリューションの勢力は衰えました。競合ソリューションがほとんどないので、WUSU は、マイクロソフトの更新プログラム管理ソリューションとして絶対的な地位を確立しました。その理由は、WSUS が更新プログラム管理ソリューションとして機能するからです。

多くのデータセンターでは、Windows の更新プログラムの管理に WUSU サーバーを使用しています。さらに多くのデータセンターでは、WSUS クライアント (Windows Update エージェント) を使用して、各更新プログラムの実行可能コードをインストールしています。それでも、多くのデータセンターでは、更新プログラムを適切なタイミングで展開することに苦心しています。毎回達成するのは不可能だとしても、夜間に更新プログラムを完全に適用することを、高い目標として掲げています。

何でも屋である IT プロフェッショナルの多くの方は、WSUS を実装する最善の方法のいくつかが、あまり明確でないことをご存じではないと思われます。このような方法の中には、公開されていないものもあります。このコラムでは、更新プログラムに関する処理を円滑に行ううえで役立つ、優れた方法をいくつか紹介します。

1. ユーザーまたは更新プログラムが再起動に対応しないようにする

更新プログラムを完全に適用するには、2 つの基本的な手順が必要になります。それは、更新プログラムをインストールすることと、コンピューターを再起動することです。コンピューターに更新プログラムが適用されていると見なされるようにするには、この 2 つの手順を実行する必要があります。WSUS では、再起動の方法に問題があります。

ほとんどの方は、ユーザーが更新プログラムをインストールした後に再起動しないで済むようにしたいと考えるでしょう。勤務中にコンピューターを再起動すると、ユーザーは不愉快な思いをし、作業内容を失うことがあります。そのため、ユーザーが再起動を延期できるオプションが必ず用意されています。再起動を延期することで、作業を完了して、コンピューターを適切にシャットダウンする時間を確保できます。ただし、再起動を延期することで、更新プログラムの適用も先延ばしになります。

また、承認済みの各更新プログラムに期日を設けることもできます。つまり、インストールと再起動を完了する必要がある日時を設定し、期日を過ぎると、コンピューターを強制的に再起動できます。ただし、期日が過ぎた時点で、コンピューターの電源が入っていなかったり、コンピューターがネットワークから切断されていたりすると問題が発生します。このようなコンピューターでは、電源が投入されたり、ネットワークに再接続したときに、更新プログラムが適用され再起動されます。これは、あまり良い解決策ではありません。

再起動を制御する適切な方法は、WSUS から完全に再起動のプロセスを削除することです。すべてのコンピューターを一度に再起動するスクリプトを作成し、ユーザーが退勤した後に実行するようにスケジュールします。外部スクリプトで再起動の処理が行われるので、いつでも必要なときにシステムを更新できます。

たとえば、ネットワーク上のすべてのデスクトップを再起動する時間帯を決めて、水曜日と土曜日の午前 2 時 ~ 4 時の間に再起動するとします。ユーザーに "再起動の時間帯" を伝えて、ユーザーが作業内容を保存するようにします。次に、すべてのデスクトップを一度に再起動する簡単なスクリプトを作成します。このスクリプトのサンプルは、concentratedtech.com/download (英語) からダウンロードできます。タスク スケジューラを使用して、毎週、再起動の時間帯に、このスクリプトを実行するようにします。

このような場合に役立つグループ ポリシー設定がいくつかあります。"スケジュールされた自動更新のインストールで、ログオンしているユーザーがいる場合には自動的に再起動しない" というポリシー設定を有効にして、更新プログラムをインストールしたときに、コンピューターが再起動されないようにします。

"自動更新を構成する" というポリシー設定では、値を 4 に設定して、再起動の時間帯より前に、インストールの時間帯が開始されるようにします。"自動更新を直ちにインストールすることを許可する" というポリシーを有効にすると、再起動が必要ない更新プログラムをすぐにインストールできるので役立ちます。管理者も、これらの設定を変更できないようにするには、"Windows Update のすべての機能へのアクセスを削除する" というユーザー構成ポリシーを有効にします。

このように WSUS を再構成すると、再起動の手順をインストールの手順から分離し、適切に制御して、夜間に更新プログラムを完全に適用できるようになります。

2. WSUS の API を使用してコンピューターに更新プログラムをすぐ適用する

IT プロフェッショナルの方からは「WSUS を使用してコンピューターに更新プログラムをすぐ適用する方法はありますか」という質問をよく受けます。WSUS の時間指定の更新プロセスを待機するのに、うんざりしているのでしょう。特にサーバー コンピューターに更新プログラムを適用するときには、すばやく制御する必要があります。

すぐに更新プログラムを適用する方法はありますが、WSUS の GUI では公開されていません。WSUS では、API を通じてスクリプトを公開することもできます。この API とお気に入りのスクリプト言語を使用して、クライアントで実行されている Windows Update エージェントに、承認済みの更新プログラムを WSUS サーバーから取得してインストールするように指示できます。このエージェントでは、更新プログラムをインストールするときに、再起動が必要な場合は、コンピューターをすぐに再起動します。

難しいのは、この作業を実行するスクリプトを作成することです。concentratedtech.com/download (英語) で 2 つのスクリプトを公開しています。1 つ目のスクリプトは、更新プログラムをインストールする必要があるコンピューターで実行します。このスクリプトでは、承認済みの更新プログラムをダウンロードして、インストールし、必要に応じてコンピューターを再起動します。2 つ目のスクリプトは、マイクロソフトが提供している便利な PSExec というツールを使用して、ネットワークで実行している複数のコンピューターで 1 つ目のスクリプトをリモートで実行します。

この 2 つのスクリプトは、サーバーに更新プログラムを適用するときに役立ちます。WSUS でスケジュールされた時刻になるのを待機する必要なく、すぐに更新プログラムを適用して再起動するようサーバーに指示できます。

3. グループ ポリシーを使用してコンピューターのスリープ状態を解除する

他の WSUS グループ ポリシー設定が格納されているのと同じ場所に、Windows Update の電源管理を有効にするポリシーがあります。このポリシーを使用すると、システムのスリープ状態を自動的に解除し、スケジュールされた更新をインストールできます。

多くのユーザーは、コンピューターを使用していないときには、画面の電源を切ったり、コンピューターをスリープ状態にするなど、省電力で稼動するように構成します。ただし、コンピューターをスリープ状態にすると、夜中に更新プログラムをインストールするときに、スリープ状態が解除されないという問題が発生します。

このポリシーの設定を有効にすると、更新時に Windows Update によってコンピューターのスリープ状態が解除されるようになります。更新が完了すると、コンピューターは 2 分後にスリープ状態に戻ります。

4. インターネットに接続した WSUS サーバーを用意する

社内 LAN にほとんど接続することがない従業員への対応も課題の 1 つです。このような従業員が使用するラップトップ コンピューターは会社の所有物ですが、ネットワークにほとんど接続することがないため、管理方法が限られます。このようなコンピューターに更新プログラムを適用するために、多くのユーザーは、マイクロソフトが一般に公開している Windows Update のサイトを使用することになります。このサイトを使用すると、マイクロソフトが適切と判断するすべての更新プログラムが適用されます。

ご想像のとおり、この手法には、いくつかの問題点があります。多くの IT プロフェッショナルは、インストールされる更新プログラムを決定する必要があると考えています。更新プログラムをテストおよび承認することで、問題が発生する更新プログラムを除外できます。また、更新プログラムが適切に適用されたことに関するレポートを作成する必要もあります。このレポートを使用して、更新プログラムが適用されていないコンピューターがネットワークに侵入しないようにします。

インターネットに接続した WSUS サーバーを使用することで、以上の処理を実行して、夜間に更新プログラムを完全に適用できるようになります。このようなサーバーは、オフィスにほとんどいないユーザーの更新プログラムを管理するというニーズに対応できます。通常、インターネットに接続している WSUS サーバーには、実際の更新プログラムのデータは含まれておらず、クライアントが Windows Update から更新プログラムのコンテンツを適用するように指示します。

この方法を使用すると、マイクロソフトが管理しているサーバーに更新プログラムの配布処理をオフロードしながら、展開する更新プログラムを管理できます。このようなサーバーは、SSL 証明書と個別のデータベース サーバーを使用して、不適切なユーザーに対して強化されている傾向があります。

5. BranchCache による高速化を検討する

夜間に更新プログラムを完全に適用するには、クライアントにすばやく更新プログラムを適用する必要があります。また、WSUS の階層全体に、更新プログラムをすばやく配布する必要もあります。残念ながら、複数の WSUS サーバーをチェーン化している場合は、更新プログラムのメタデータとコンテンツは、常にすばやく配布できるとは限りません。この場合、自動更新の検出頻度とブランチ オフィスの潜在的なネットワーク接続が問題になります。

Windows Server 2008 R2 を使用している場合、チェーン化された WSUS サーバーを BranchCache に置き換えることができます (BranchCache は、ドキュメントをキャッシュして、リモート オフィスのユーザーがコンテンツにすぐアクセスできるようにするソリューションです)。また、BranchCache を使用して、更新プログラムの展開を高速化することもできます。

WSUS サーバーに BranchCache をインストールし、グループ ポリシーを使用して、リモート オフィスの Windows 7 クライアントに対して BranchCache を有効にします。リモート オフィスのクライアントが、本社の WSUS サーバーから更新プログラムを適用するように指定します。

分散キャッシュ モードの BranchCache を使用すると、リモート サイトの Windows 7 コンピューターでは、本社の WSUS サーバーから WSUS コンテンツをダウンロードすると、そのコンテンツを共有できます。このようにすることで、ネットワーク接続の負荷が過剰に高くなることなく、更新プログラムの配布が高速化します。

BranchCache によるキャッシュ処理を、クライアントが認識することはありません。つまり、高速化は、BranchCache 対応のサーバーからダウンロードされるすべてのコンテンツがキャッシュされるようになることで実現します。その結果、リモート サイトに配置していた WSUS サーバーを廃止して、更新プログラムを配布する手順の 1 つを取り止めることができます。

6. WSUS データベースをクリーンな状態で維持する

最後のヒントはいんちきのように感じるかもしれませんが、更新プログラムを完全に適用するうえで重要な手順になります。更新プログラムの適用期限が過ぎているコンピューターを WSUS データベースから削除することで、更新プログラムを適用するときに使用しているカウンターから削除します。コンピューターが存在しなければ、そのコンピューターについては、更新プログラムの適用に関するレポートは作成されず、更新プログラムが完全に適用されることもありません。

WSUS に用意されているクリーンアップ ウィザードを定期的に使用することをお勧めします。このウィザードでは、サーバーに接続していないコンピューターを削除したり、不要な更新プログラムを削除したりします。

長年にわたって、以上のヒントをクライアントと共有してきました。どのヒントを採用しても、更新プログラムを完全に適用する作業について、大幅な改善が見られたという報告を受けています。ぜひ、皆さんもお試しいただき、同じ境地にたどり着いてください。たどり着けない場合は、ご一報ください。また、皆さんが抱えている問題を concentratedtech.com/WSUSGuarantee (英語) で共有してください。

Greg Shields

Greg Shields (MVP) は、Concentrated Technology の共同経営者です。何でも屋である IT プロフェッショナル向けのヒントとテクニックについては、ConcentratedTech.com (英語) を参照してください。

 

取っておきのヒントをお知らせください

何でも屋 (JOAT) である Windows 管理者の方や、ネットワーク、サーバー、プリンター、およびその間に存在するあらゆるものを担当している方は、サーバーの正常な状態を維持するための便利なヒントとテクニックを確立していることと思います。ヒントやテクニックを共有することに興味がある方にお願いがあります。TechNet マガジンの「何でも屋」コラムを執筆している Greg Shields は、今後のコラムで紹介する優れたヒントを探しています。ぜひご協力ください。

Windows サーバーの管理に関するすばらしいヒントをお持ちですか。デスクトップの正常な状態を維持するための優れた方法をご存じですか。IT 環境の管理に関する秘訣を共有することに関心はありませんか。今後 TechNet マガジンでは、Greg の "IT のヒント トップ 20" を掲載する予定です。このコラムでは、業界で最も優秀な 20 人の IT に関する何でも屋を認定し、目からうろこが落ちるような彼らのヒントとテクニックを紹介します。コラムに名前を載せ、賞賛を受け、皆さんが真の仕事を成し遂げた人物である理由を知らせるチャンスを掴んでみませんか。皆さんのヒントを gshields@concentratedtech.com (英語のみ) までお寄せください。お寄せいただいたすべてのヒントに返信いたします。

—G.S.

関連コンテンツ