WSUS管理コンソールから任意のタイミングで手動実行できることですが、
Powershellコマンドレットとタスクスケジュールを利用し定期的に掃除してもらうことができます。
WSUS管理コンソールから
PowerShellから
WSUS_Cleanup.ps1
Powershell -Command "Invoke-WsusServerCleanup
-CompressUpdates
-CleanupObsoleteUpdates
-CleanupObsoleteComputers
-CleanupUnneededContentFiles
-DeclineExpiredUpdates
-DeclineSupersededUpdates" > C:\WSUS_Cleanup.log
WSUS_Cleanup_イベントログへ出力.ps1
$message = "WSUSクリーンアップ処理を開始します。"
Write-EventLog -LogName System -Source "WSUS Cleanup Task" -EventID 65000 -EntryType INFORMATION -Message $message
try{
$result = (Invoke-WsusServerCleanup -CompressUpdates -CleanupObsoleteUpdates -CleanupObsoleteComputers -CleanupUnneededContentFiles -DeclineExpiredUpdates -DeclineSupersededUpdates)
if($result -ne $null){
$message = "WSUSクリーンアップ処理が正常終了しました。`r`n`r`n"+$result
Write-EventLog -LogName System -Source "WSUS Cleanup Task" -EventID 65001 -EntryType INFORMATION -Message $message
}else{
$message = "WSUSクリーンアップ処理が正常終了しましたが結果が空です。"
Write-EventLog -LogName System -Source "WSUS Cleanup Task" -EventID 65002 -EntryType WARNING -Message $message
}
}
catch{
$message = $error[0].Exception.Message
$message = "WSUSクリーンアップ処理がエラー終了しました。`r`n`r`n"+$message
Write-EventLog -LogName System -Source "WSUS Cleanup Task" -EventID 65003 -EntryType ERROR -Message $message
}
解説
■不要な更新プログラムおよび更新のリビジョン
-CompressUpdate
-CleanupObsoleteUpdates
■サーバーにアクセスしていないコンピューター
-CleanupObsoleteComputers
■不要な更新ファイル
-CleanupUnneededContentFiles
■期限の切れた更新プログラム
-DeclineExpiredUpdates
■置き換えられた更新
-DeclineSupersededUpdates