IT PowerShell Windows

【Powershell】WSUSのクリーンアップを定期的に自動実行

投稿日:

WSUSを運用していく上で重要になるクリーンアップを定期的に自動実行する方法です。

↑ これです

WSUS管理コンソールから任意のタイミングで手動実行できることですが、
クリーンアップはカタログ同期みたいにスケジュール設定して自動実行させてくれないから
Powershellコマンドレットとタスクスケジュールを利用し定期的に掃除してもらいます。

Powershell -Command "Invoke-WsusServerCleanup -CompressUpdates -CleanupObsoleteUpdates -CleanupObsoleteComputers -CleanupUnneededContentFiles -DeclineExpiredUpdates -DeclineSupersededUpdates" > C:\WSUS_Cleanup.log

上記を"wsus_cleanup.ps1"として任意の場所に保存
(ファイル名はお好きな名前でどうぞ)

あとはこのスクリプトをタスクスケジュールに登録するだけです。

クリーンアップの結果ログが不要でしたら後ろについている
> C:\WSUS_Cleanup.log
は消してください。

各オプションの意味は以下の通りです。

■不要な更新プログラムおよび更新のリビジョン
-CompressUpdate
-CleanupObsoleteUpdates

■サーバーにアクセスしていないコンピューター
-CleanupObsoleteComputers

■不要な更新ファイル
-CleanupUnneededContentFiles

■期限の切れた更新プログラム
-DeclineExpiredUpdates

■置き換えられた更新
-DeclineSupersededUpdates

 

ここ数年で私が構築するWSUSはこのスクリプトをタスクスケジュールに登録して毎日動くようにしています。
少なくとも月に一回はWSUSのクリーンアップはした方が良いと思います。
運用側で定期的に実行してもらっていいのですが、自動化できるところは自動化して運用のお仕事を減らしてあげましょう。

-IT, PowerShell, Windows

Copyright© Live Free , 2019 All Rights Reserved.