2013-01-10

Automatisera Cleanup i WSUS, eller "Att äntligen få tummen ur..."

Jag har äntligen fått tummen ur och automatiserat upp ett script som kör cleanup på WSUSen i min labb-miljö.

För att det skulle vara lite roligare så valde jag att köra det som ett Poiwershell-script som sedan har schemalagts att köras en gång i veckan (jag synkar ned uppdateringar från Microsoft en gång per dygn).

Först är det ett powershellscript som heter "WSUScleanup.ps1"
-------------------------

[reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")`
 | out-null
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::GetUpdateServer();
$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();
$cleanupManager.PerformCleanup($cleanupScope);

-------------------------

Sedan har jag en BAT-fil som kör Powershellskriptet.
Jo, jag vet att det går att göra allting i powershell, men min trygghet ligger i BAT-filer fortfarande... f'låt!! :)

Den filen heter "scheduleWSUScleanup.bat"

-------------------------

@echo off
@echo Starting cleanup: %date% %time% >> c:\Scripts\WSUSCleanup.log
powershell.exe c:\scripts\WSUScleanup.ps1 >> c:\scripts\WSUSCleanup.log
@echo Finished cleanup: %date% %time% >> c:\scripts\WSUSCleanup.log
@echo ============================================================ >> c:\scripts\WSUSCleanup.log)

-------------------------

Båda filerna ligger i en katalog som heter "C:\Scripts" och där skapas en loggfil "WSUSCleanup.log"

Jag har skapat en helt vanligt Scheduled Task som körs varje tisdag klockan 14.00.
För att det skulle funka så var kryssrutan "Run with highest proviledges" tvungen att vara ikryssad.

Själva loggfilen är rätt intressant faktiskt. Man får en hel del information jag gillar där. 
Information om när scriptet startade och när det slutade, och också vad scriptet faktiskt gjorde:


Tyvärr kan jag inte ta cred för denna lösning. :) Jag googlade runt en del och hittade scriptet. Dock hittar jag inte länken...

Inga kommentarer:

Skicka en kommentar

Related Posts Plugin for WordPress, Blogger...