# ------------------------------------------------------------------------------------------------
# WSUSサーバークリーンアップスクリプト
# 
# Copyright (C) 2019 SAY Technologies, Inc. All rights reserved.
# 最終修正日：2019/04/11
# ------------------------------------------------------------------------------------------------



# このスクリプトを初めて実行する場合は、事前に PowerShell を開いて以下のコマンドラインを一度だけ実行する必要があります。
# New-EventLog -LogName Application -Source "WSUS Cleanup Task"
#

$message = "WSUS サーバーのクリーンアップ（Invoke-WsusCleanup）処理を開始します。"
Write-EventLog -LogName Application -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 サーバーのクリーンアップ（Invoke-WsusCleanup）処理を終了しました。`r`n`r`n"+$result
    Write-EventLog -LogName Application -Source "WSUS Cleanup Task" -EventID 65001 -EntryType INFORMATION -Message $message
  } else {
    $message = "WSUS サーバーのクリーンアップ（Invoke-WsusCleanup）処理を終了しましたが、結果がありません。"
    Write-EventLog -LogName Application -Source "WSUS Cleanup Task" -EventID 65002 -EntryType WARNING -Message $message
  }
}
catch {
    $message = $error[0].Exception.Message
    $message = "WSUS サーバーのクリーンアップ（Invoke-WsusCleanup）処理が次のエラーで終了しました。`r`n`r`n"+$message
    Write-EventLog -LogName Application -Source "WSUS Cleanup Task" -EventID 65003 -EntryType ERROR -Message $message
}
