知人の会社のPC管理を強化するためWindowsUpdateを管理できればと考え、VPSサーバーにWSUSを立てていきます。
「さくらの VPS Windowsサーバー構築」編でサーバーを構築したので、WindowsUpdateサーバーとして稼働するための設定を行っていきます。
■WindowsUpdateServicesの構成
さくらのVPSコントロールパネルからVNCコンソールでログインし、サーバーマネージャーを開きます。
サーバーマネージャーを開くと下図画面になります。「役割と機能の追加」を押して進めます。
役割と機能の追加ウィザードが開きます。次へを押して進めます。
インストール種類の選択画面が表示されます。「役割ベースまたは機能ベースのインストール」のラジオボタンをチェックして進めます。
対象サーバーの選択画面が表示されますので、そのまま進めます。
追加する機能の一覧が表示されます。「WindowsServerUpdateServices」を選択してチェックを入れます。
チェックを入れると必要なサービスの追加を確認する画面が表示されますので「機能の追加」を押して進めます。
必要なサービスが選択されますので、次へを押して進めます。
次に機能の追加画面が表示されます。今回は必要ないので次へを押して進めます。
「WindowsUpdateServices」の説明の画面が表示されますのでそのまま進めます。
WindowsUpdateServicesに使用するデータベースを選択する画面になります。SQLサーバーをすでに使用していてインスタンスを既存SQLサーバーに追加するのでなければそのまま進めます。
WindowsUpdateServicesのデータを保存する場所の選択画面が表示されます。画面中央の「次の場所に更新プログラムを保存します」に保存先のパスを入力します。
※画面の例ではCドライブ直下にWSUSフォルダを作成しています。
WindowsUpdateServicesで使用するWEBサーバーの説明画面が表示されますので進めます。
WEBサーバーに必要な機能の追加画面が表示されます。デフォルトのままで問題ないので次へを押して進めます。
WindowsUpdateService・WEBサーバーのインストールの最終確認画面が表示されます。「インストール」ボタンを押してインストールを開始します。
インストールが開始されますので、終了するまで待ちます。
ステータスバーが最後まで進むと「構成が完了しました。****でインストールが正常に完了しました」と表示されますので閉じるを押してインストールウィザードを終了します。
スタートメニューからWindows管理ツールを選択し開きます。
「WindowsServiceUpdateServices」のショートカットがありますので開きます。
WSUSの初期設定ウィザードが開始されます。
まず各クライアントに配布するUpdateファイルをサーバーローカルに保存するか、Microsoftのアップデートサーバーへダウンロードするかのチェックボックスが「更新プログラムをローカルに保存する」のチェックで切り替えられます。
VPSで容量も少なく、管理する台数も少ないのでチェックを外し、アップデートサーバーからダウンロードするようにします。
チェックを外したら「実行」ボタンを押して進めます。
インストール後のタスクが実行されます。バックグラウンドでWEBサーバーやDBの設定が実行されますので完了するまで待ちます(すこし長いです)。
下図のように完了したら閉じるを押します。
インストール後のタスクが完了すると、設定ウィザードが開始されますので進めます。
品質向上プログラムについての画面が表示されますので、任意に選択して進めます。
更新プログラムの同期元の設定を行います。デフォルトで問題ないので進めます。
プロキシの設定画面になります。プロキシ環境でなければ使わないのでそのまま進めます。
MicrosoftのUpdateサーバーに接続して更新内容を確認します。
画面中央の「接続の開始」を押してしばらく待ちます。
完了すると次へが押せるようになりますので進めます。
アップデートを行う製品の選択画面になります。必要に応じてチェックしますが、私の環境ではWindowsクライアントだけなので、下記のみにしています。
〇Microsoft Defender Antivirus
〇Microsoft Edge
〇Windows10,Versino1903 and later
〇Windows10
〇Windows11
チェックを入れたら次へ進めます。次画面では分類の選択を行います。
こちらも必要に応じて設定しますが、私の環境では下図のように設定しました。
チェックを入れたら次へ進めます。次画面ではWindowsUpdateサーバーとの同期スケジュールを設定します。こちらも任意に設定しますが、何となく夜間を指定して1日数回同期するように設定しました。
設定を行ったら次へ進みます。こちらの画面で最後の設定になります。
初期同期を開始するかのチェックボックスがありますが、同期する前に変更したい設定があるので、チェックを入れずに完了を押してウィザードを終了します。
WindowsUpdateServicesのコンソールが開きますが一度閉じます。
■IIS(インターネットインフォメーションサービス)の設定
WindowsUpdateServiceはIISを使用してクライアントと通信しています。
デフォルトの設定だとタイムアウトを起こしやすいので下図のように設定を変更します。
スタートメニューのWindows管理ツールを開きます。
「インターネットインフォメーションサービス(IIS)マネージャー」の項目があるのでダブルクリックで開きます。
マネージャーコンソールが開きますので、左側の一覧から「アプリケーションプール」をクリックして選択し、中央に出てくる「WsusPool」を右クリックして詳細設定を開きます。
下図詳細設定が開きますので、次のように設定を変更します。
〇全般
・・・キューの長さ:2000
〇CPU
・・・制限(%):0
・・・PINGの有効化:False
〇ラピッドフェール保護
・・・エラー間隔:30
・・・最大エラー数:60
〇リサイクル
・・・プライベートメモリ制限:0
・・・仮想メモリ制限:0
・・・定期的な期間:0
設定が完了したらOKを押して画面を閉じ、IISマネージャーも閉じます。
■SQLSERVERの設定
続いて こちらのリンク からMSSQL管理マネージャーをダウンロードしインストールします。
インストールするとスタートメニューのプログラム一覧に「SQL Server Management Studio 19」が表示されますのでこちらを開きます。
SQLServerマネージャーが開きますので、サーバー名に下記を入れて接続します。
サーバー名:\.\pipe\Microsoft##WID\tsql\query
接続すると左側にオブジェクトエクスプローラーが表示されています。データベース~SUSDBを右クリックし「新しいクエリ」をクリックして開きます。
クエリを入力する画面が表示されます。
下記クエリを入力して実行します。
EXEC sp_configure 'show advanced options',1
GO
Reconfigure
GO
EXEC sp_configure 'min server memory',1024
GO
Reconfigure
GO
EXEC sp_configure 'max server memory',2048
GO
Reconfigure
GO
USE [SUSDB]
CREATE NONCLUSTERED INDEX [nclLocalizedPropertyID] ON [dbo].[tbLocalizedPropertyForRevision]
(
[LocalizedPropertyID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
-- Create custom index in tbRevisionSupersedesUpdate
CREATE NONCLUSTERED INDEX [nclSupercededUpdateID] ON [dbo].[tbRevisionSupersedesUpdate]
(
[SupersededUpdateID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, SORT_IN_TEMPDB = OFF, DROP_EXISTING = OFF, ONLINE = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
エラーなく完了したらSQLServerマネージャーを閉じます。
以上の設定が完了したら、サーバーを再起動します。
■同期の開始
サーバーが再起動されたらWindowsUpdateServiceを開き左側ツリーから同期を選択し、右ツリーの「今すぐ同期」をクリックします。
最初の同期は時間がかかりますので、そのまましばらく放置します(半日くらい?)。
同期が完了したら左側ツリーから更新プログラム~すべての更新プログラムを選択します。
選択すると中央に更新プログラムが一覧表示されます。表示されない場合は中央上部の「承認」を未承認に、「状態」を任意に変更して更新します。
更新を行うには更新プログラムを右クリックし承認を押し、更新プログラムの承認を行います。承認画面が表示されますので、「すべてのコンピューター」をクリックしてインストールの承認を選択し、OKを押して承認します。
OKを押すと承認が進みます。完了したら閉じるを押して画面を閉じます。
■PCをWSUS経由でアップデートするように設定する
クライアントPCをWSUSで承認された更新プログラムを使用するように設定します。
下記内容のバッチファイルを作成し、クライアントPCで実行します。
※サーバーのIPは環境に合わせて設定を変えてください。
rem ----------------------------------------------------------------------------
rem WSUSサーバのURL
set THE_WSUS=http://192.168.1.100:8530
rem ----------------------------------------------------------------------------
rem 自動更新オプション 2:DL前通知、3:自動DL&インストール前通知、4:自動DL&スケジュールインストール
set AUOptions=4
rem ----------------------------------------------------------------------------
rem 自動インストールする時間(24時間表記)
set ScheduledInstallTime=12
rem ----------------------------------------------------------------------------
rem 自動インストールする曜日 0:毎日、1:日曜、2:月曜、……、7:土曜
set ScheduledInstallDay=0
echo WSUSサーバを使うよう設定します。
echo [ %THE_WSUS% ]
@echo on
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoUpdate /t REG_DWORD /d 0 /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v UseWUServer /t REG_DWORD /d 1 /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v AUOptions /t REG_DWORD /d %AUOptions% /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallDay /t REG_DWORD /d %ScheduledInstallDay% /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v ScheduledInstallTime /t REG_DWORD /d %ScheduledInstallTime% /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v DetectionFrequencyEnabled /t REG_DWORD /d 1 /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v DetectionFrequency /t REG_DWORD /d 1 /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" /v NoAutoRebootWithLoggedOnUsers /t REG_DWORD /d 1 /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUServer /t REG_SZ /d "%THE_WSUS%" /f
reg.exe add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v WUStatusServer /t REG_SZ /d "%THE_WSUS%" /f
reg.exe add "HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\PushNotifications" /v ToastEnabled /t REG_DWORD /d 0 /f
※折り返しに注意してバッチファイルにしてください。
こちらのファイルをクライアントPCの管理者権限で実行し、更新プログラムのチェックを行います。
クライアントが登録されると画面下図のように左ツリーのコンピューター~すべてのコンピューターからクライアントの一覧が表示されます。
下図は登録した直後ですが、クライアントからデータが上がってくると更新プログラムのインストール状況が確認できるようになります。
以上でWindowsUpdateServiceの設定は完了です。
以後はクライアントPCにバッチを展開していき、更新プログラムの承認を都度行って管理していきます。
■ChatGPTによるWSUSレビュー
WSUS(Windows Server Update Services)は、Windows OSの自動更新を一元管理するためのマイクロソフトのサービスです。以下では、WSUSの特徴や利点、欠点についてレビューしていきます。
【特徴・利点】
- Windows OSの自動更新を一元管理できる:WSUSは、Windows OSの自動更新を一元管理することができます。これにより、更新プログラムの適用漏れを防ぎ、システムのセキュリティを強化することができます。
- ネットワークのトラフィックを削減できる:WSUSは、更新プログラムをローカルネットワーク内のサーバーにダウンロードすることができます。そのため、各PCがインターネットから直接更新プログラムをダウンロードする必要がなくなり、ネットワークのトラフィックを削減することができます。
- ダッシュボードで状況を確認できる:WSUSにはダッシュボードがあり、更新プログラムの適用状況やエラーの発生状況などを簡単に確認できます。これにより、管理者はシステムの状態を把握し、必要に応じて対応することができます。
- 更新プログラムの承認が可能:WSUSには更新プログラムの承認機能があり、管理者が承認した更新プログラムのみを配信することができます。これにより、問題のある更新プログラムを回避することができます。
【欠点】
- セットアップが煩雑:WSUSは、セットアップが煩雑で、初心者にとっては操作が難しいと感じる場合があります。
- ストレージの容量が必要:WSUSは、更新プログラムをローカルネットワーク内のサーバーにダウンロードするため、ストレージの容量が必要になります。大規模なネットワークでは、ストレージの容量に注意が必要です。