WSUS 関連の Windows PowerShell コマンドレット (Invoke-WsusServerCleanup) について

スポンサーリンク

Windows OS や SQL Server などの、Microsoft 社製品に対する更新プログラムやサービスパックなどを適用する場合、Windows Update を利用して実施するのが一般的と思われます。

しかし、適用するサーバー、クライアントの台数が複数ある環境では、どの更新プログラムやサービスパックを適用すべきか、適用されたか、など管理工数が増加することがよくあります。

Windows Server Update Services (WSUS) サービスを利用することで、Windows OS を実行しているコンピューターに対して、Microsoft 社製品の最新の更新プログラムを効率的に展開することが可能となります。また、WSUS を使用することで、管理しているネットワーク上に存在しているコンピューターへの配布作業を効率的に管理することが可能となります。

Windows Server 2012 から、PowerShell コマンドレットを使用して WSUS の設定が行えるようになりました。しかし、WSUS に関するコマンドレットの情報について、英語の情報はあるものの、日本語の情報についてはあまり公開されていません。

ここでは、WSUS に関する PowerShell コマンドレットの 1 つである「Invoke-WsusServerCleanup」コマンドレットについて、日本語の情報として纏めてみました (他のコマンドレットについては、「WSUS 関連の Windows PowerShell コマンドレットについて」を参照)。
※Windows Server 2012 と Windows Server 2012 R2 と比較した際に相違がほとんどないことから、Windows Server 2012 R2 (内容については「Get-Help」コマンドレットの -Full オプションを用いて実行した結果) の情報を元に編集、意訳したものとなります。


■概要

指定した Windows Server Update Services (WSUS)  サーバー上で、クリーンアップ プロセスを実行します。

■構文

Invoke-WsusServerCleanup [-CleanupObsoleteComputers]
     [-CleanupObsoleteUpdates] [-CleanupUnneededContentFiles] [-CompressUpdates]
     [-DeclineExpiredUpdates] [-DeclineSupersededUpdates] [-UpdateServer] [-Confirm]
     [-WhatIf] [<CommonParameters>]

■説明

Invoke-WsusServerCleanup コマンドレットは、指定した Windows Server Update Services (WSUS)  サーバー上で、クリーンアップ プロセスを実行します。このプロセスには、WSUS コンソール アプリケーション内からクリーンアップ ウィザードを実行するのと同じ影響があり、パラメーターとして同じオプションの仕様を許可します。

■パラメーター

-CleanupObsoleteComputers [<SwitchParameter>]
データベースから削除されるべき使用されないコンピューターを指定します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-CleanupObsoleteUpdates [<SwitchParameter>]
データベースから削除されるべき使用されないリビジョンをしています。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-CleanupUnneededContentFiles [<SwitchParameter>]
削除されるべき不必要な更新ファイルを指定します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-CompressUpdates [<SwitchParameter>]
データベースから削除されるべき更新に対する使用されないリビジョンを指定します。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-DeclineExpiredUpdates [<SwitchParameter>]
期限切れの更新が非承認でなければならないことを示しています。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-DeclineSupersededUpdates [<SwitchParameter>]
取って変わった更新が非承認でなければならないことを示しています。

必須false
位置named
既定値none
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-UpdateServer <IUpdateServer>
WSUS サーバーを含むオブジェクトを指定します。この値は、Get-WsusServer コマンドレットを呼び出し、このコマンドレットに結果として生成される IUpdateServer オブジェクトをパイプラインで送ることによって取得します。

必須false
位置named
既定値none
パイプライン入力を許可するtrue (ByValue)
ワイルドカード文字を許可するfalse

-Confirm [<SwitchParameter>]
コマンドレットを実行する前に、実行の是非を確認するプロンプトを表示します。

必須false
位置named
既定値false
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

-WhatIf [<SwitchParameter>]
コマンドレットを実行する場合に、何か起こるかを示します。コマンドレットは実行しません。

必須false
位置named
既定値false
パイプライン入力を許可するfalse
ワイルドカード文字を許可するfalse

<CommonParameters>
このコマンドレットは、次の共通パラメーターをサポートします: VerboseDebugErrorActionErrorVariableWarningActionWarningVariableOutBuffer, PipelineVariable、および OutVariable。詳細については、about_CommonParameters を参照してください。

■入力

  • Microsoft.UpdateServices.Commands.IUpdateServer
    IUpdateServer

■出力

  • None

■例

例 1

 Get-WsusServer | Invoke-WsusServerCleanup -CleanupObsoleteComputers 

Obsolete Computers Deleted: 1

この例では、使用しないコンピューターをクリーンアップするためのオプションを指定しているローカル WSUS サーバー上でこのコマンドレットを実行します。

例 2

 Get-WsusServer consoso | Invoke-WsusServerCleanup -CleanupObsoleteComputers -CleanupObsoleteUpdates 

Obsolete Updates Deleted: 62
Obsolete Computers Deleted: 0

この例では、使用されないコンピューターおよび使用されない更新をクリーンアップするためのオプションを指定している「consoto」というサーバー上で、このコマンドレットを実行します。

■関連するトピック

  • Get-WsusServer

[参考]