Автоматическая очистка WSUS-сервера

В настройках WSUS-сервера есть опция очистки, которая позволяет удалить из базы записи о просроченных или отклоненных обновлениях, замещенных обновлениях, устаревших записях компьютеров. Кроме того, при этом удаляются ненужные файлы обновлений, которые могут занимать существенное место на диске. Каждый раз заходить и запускать процедуру очистки не совсем удобно, поэтому этот процесс необходимо автоматизировать. Используем для этого PowerShell.

На сервере с установленной ролью WSUS имеется специальный командлет для этой цели.

Get-WSUSServer | Invoke-WsusServerCleanup -CleanupObsoleteComputers -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates -DeclineSupersededUpdates

Можно сохранить его в файл и настроить запуск по расписанию.

Если же мы хотим видеть результат выполнения скрипта в журнале событий Windows, его придется немного доработать. Сначала необходимо создать журнал для этого источника (делается один раз и пользователем с правами администратора):

New-EventLog -LogName Application -Source "WSUSCleanup"

Скрипт:

$WSUSServer = Get-WsusServer
$result = Invoke-WsusServerCleanup -UpdateServer $WSUSServer -CleanupObsoleteComputers -CleanupObsoleteUpdates -CleanupUnneededContentFiles -CompressUpdates -DeclineExpiredUpdates -DeclineSupersededUpdates
$message = Out-String -InputObject $result
Write-EventLog -Logname Application -EventID 0 -Source "WSUSCleanup" -Entrytype Information -Message $message

Результат выполнения выводится в журнал событий.

Запись опубликована в рубрике WSUS, Техничка. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *