понедельник, 12 мая 2014 г.

PowerShell: скрипт для автоматизации очистки сервера WSUS от устаревших обновлений

Запуск данного скрипта можно задать в планировщике задач и больше не беспокоиться о необходимости периодически производить очистку сервера WSUS.

$WsusServer = "wsus.mycompany.corp"
$UseSSL = $false
$PortNumber = 80

#E-mail Configuration
$SMTPServer = "smtp.mycompany.corp"
$FromAddress = "WSUS@mycompany.corp"
[string[]] $Recipients = "admin1@mycompany.corp", "admin2@mycompany.corp", "admin3@mycompany.corp"
$MessageSubject = "WSUS :: CleanUP Updates"

Function SendEmailStatus($MessageSubject, $MessageBody)
{
$SMTPMessage = New-Object System.Net.Mail.MailMessage
$SMTPMessage.from = $FromAddress
foreach($recipient in $Recipients)
{
$SMTPMessage.to.Add($recipient)
}
$SMTPMessage.Subject = $MessageSubject
$SMTPMessage.Body = $MessageBody
$SMTPMessage.IsBodyHTML = $true
#Send the message via the local SMTP Server
$SMTPClient = New-Object System.Net.Mail.SMTPClient $SMTPServer
$SMTPClient.Send($SMTPMessage)
$SMTPMessage.Dispose()
rv SMTPClient
rv SMTPMessage
}

[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration") | out-null
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer($WsusServer,$UseSSL,$PortNumber);
$cleanupScope = new-object Microsoft.UpdateServices.Administration.CleanupScope;
$cleanupScope.DeclineSupersededUpdates = $true
$cleanupScope.DeclineExpiredUpdates = $true
$cleanupScope.CleanupObsoleteUpdates = $true
$cleanupScope.CompressUpdates = $true
$cleanupScope.CleanupObsoleteComputers = $true
$cleanupScope.CleanupUnneededContentFiles = $true 
$cleanupManager = $wsus.GetCleanupManager();
$MessageBody = $cleanupManager.PerformCleanup($cleanupScope) | ConvertTo-HTML
SendEmailStatus $MessageSubject $MessageBody

Перед началом использования необходимо установить константы в соответствии с вашей инфраструктурой. А конкретнее это: имя сервера, порт, флаг использования протокола SSL, имя SMTP сервера для отправки отчёта, адреса отправителя и получателей, тема письма.

Комментариев нет:

Отправить комментарий