Windows Server
 Computer >> コンピューター >  >> システム >> Windows Server

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

社内のWSUSサーバーを使って企業内のPCやサーバーに更新プログラムを適用している場合、本番環境に展開する前に、パイロットグループ(テスト用グループ)のコンピューターやサーバーで事前検証を行うのが一般的です。GPO(グループポリシー)を利用すれば、コンピューターとサーバーをそれぞれ別のWSUSターゲットグループに振り分けることができます。

近年の運用経験からわかっているのは、WSUSを「すべての新規更新プログラムを自動承認して本番システムに即座にインストールする」設定にすべきではないという点です。Microsoftがリリースする更新プログラムには、品質が十分でなかったり、テストが不十分だったりするものが少なくないためです。

WSUSサーバー上には複数のターゲットグループを作成できます。定番の運用スキームでは、新規更新プログラムはまずテストグループ(例:「Workstation_Test」「Servers_Test」)のコンピューターとサーバーに適用して検証します。これらのグループ向けに、重要な更新プログラムとセキュリティ更新プログラムを自動承認するルールを、WSUSの設定(WSUSオプション自動承認既定の自動承認規則)で作成しておきます。

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

テストグループのコンピューターに新規更新プログラムがインストールされ、パッチによる問題が発生していないことが確認できたら(通常は3〜4日程度)、本番用のWSUSコンピューターグループに対しても新しい更新プログラムを承認します。ここで問題になるのは、「本番環境のすべてのPCやサーバーに対して手作業で更新を選択・承認するのは現実的ではない」という点です。そこで本記事では、WSUSのテストグループから本番グループへ承認情報をコピーする、比較的簡単な2つの方法を紹介します。

WSUSコンソールで承認済み更新プログラムを手動コピーする方法

テストグループから本番グループ(コンピューター/サーバー)への承認コピーは、WSUSコンソール上で手動でも十分実用的に行えます。そのためには、Update Servicesコンソールの表示を適切に設定しておく必要があります。

まず「更新プログラム」セクションで、テストグループの承認済み更新プログラム専用の新しいビューを作成します。メニューから[新しい更新プログラムのビュー](New Update View)を選択してください。

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

表示されたウィザードで「特定のグループに対して承認されている更新プログラム」(Updates are approved for a specific group)を選択し、WSUSテストグループ名(ここではWorkstation_test)を指定します。あわせて新しいビューの名前も入力しましょう。

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

作成したビューを選択し、画面下部のフィルターメニューで [承認]=「承認済み」、[状態]=「任意」を設定します。次に、列ヘッダーをクリックして「リリース日」(Release Date)列を追加し、その列見出しをクリックして一覧を並べ替えれば、新しい更新プログラムが上位に表示されるようにできます。

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

これで一覧の中から新着更新を見つけやすくなり、インストール状況の確認も容易になります。ShiftキーやCtrlキーを併用しながら本番システム向けに承認したい更新プログラムを選択し、右クリックしてコンテキストメニューから[承認](Approve)を選びます。表示されたWSUSグループの一覧から、選択した更新を適用したい本番グループをチェックし、[インストールのために承認](Approved for Install)をクリックしてください。

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

これにより、新しい更新プログラムが本番システムにもインストールされるようになります。

PowerShellを使ってWSUSグループ間で承認済み更新プログラムをコピーする方法

WSUSサーバー上に多数の更新グループがある場合は、PowerShellを使ってテストグループから本番グループへの承認コピーを自動化すると効率的です。以下は筆者が作成した小さなPowerShellスクリプトです。WSUSサーバーのFQDNと、承認をコピーする元グループ(ソース)・先グループ(ターゲット)の名前を変数に設定して使用します。

$WsusServerFqdn='mont-wsus.woshub.com'
$WsusSourceGroup = 'Workstation_Test'
$WsusTargetGroup = 'WorkstationProduction'

[void][reflection.assembly]::LoadWithPartialName( “Microsoft.UpdateServices.Administration”)
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer( $WsusServerFqdn, $False, ‘8530’)
$Groups = $wsus.GetComputerTargetGroups()
$WsusSourceGroupObj = $Groups | Where {$_.Name -eq $WsusSourceGroup}
$WsusTargetGroupObj = $Groups | Where {$_.Name -eq $WsusTargetGroup}

$Updates = $wsus.GetUpdates()
$i = 0
ForEach ($Update in $Updates)
{
if ($Update.GetUpdateApprovals($WsusSourceGroupObj).Count -ne 0 -and $Update.GetUpdateApprovals($WsusTargetGroupObj).Count -eq 0)
{
$i ++
Write-Host (“Approving ” + $Update.Title)
$Update.Approve(‘Install’,$WsusTargetGroupObj) | Out-Null
}
}
Write-Output (“Approved {0} updates for target group {1}” -f $i, $WsusTargetGroup)

WSUSのターゲットグループ間で承認済み更新プログラムをコピーする2つの方法

このPowerShellスクリプトは、WSUSソースグループで承認済みの更新プログラムを順に走査し、ターゲットグループでまだ承認されていないものがあれば「インストール」として承認していきます。この例では、テストグループで承認済みでありながら本番グループでは未承認だった64件の更新プログラムがスクリプトによって一括承認されました。

  1. DISMを使ってWindows UpdateをWindows 10インストールイメージに統合する方法

    本記事では、Windowsに標準搭載されているツール(DISM)を使用して、最新のWindows更新プログラムをオフラインのWindows 10 / Windows 8.1インストールイメージに統合する手順を詳しく解説します。同じ方法で、Windows Server 2012 R2 / 2016のインストールISOイメージに最新のセキュリティパッチを統合(スリップストリーム)することも可能です。準備するものここでは例として、2018年12月に公開された最新の累積セキュリティ更新プログラムを、Windows 10 1803のインストールイメージに追加する流れを紹介します。作業には以下が必要です。

  2. Windows 10の機能更新プログラムと累積更新プログラムの違いを徹底解説

    Microsoftは、サードパーティ製アプリなどによって生じたセキュリティホールを修正するため、累積更新プログラム(品質更新プログラム)と呼ばれるセキュリティ更新を定期的にリリースしています。これにはセキュリティ強化やバグ修正が含まれており、デバイスを安全な状態に保つ役割を果たします。最新のWindows 10では、デバイスの安全性と最新性を確保するために、更新プログラムが自動的にダウンロード・インストールされる仕組みになっており、ユーザーは常に最新の修正とセキュリティ対策を受け取ることができます。 また、Windows 10ではOS全体に大きな変更が加えられました。Windows 10は「サ