Microsoft empfiehlt einmal im Monat ein WSUS Cleanup und eine Reindexierung durchzuführen. Wie dieser Vorgang einfach automatisiert werden kann erkläre ich in diesem Blogeintrag.
Automatisierung WSUS – Cleanup
Der einfachste Weg das Cleanup zu realisieren ist über die Aufgabenplanung. Zunächst muss dafür das WSUS Cleanup-Skript aus der TechNet Gallery heruntergeladen werden und als .ps1 Datei gespeichert werden.
Durch hinzufügen der Zeile
$cleanupManager.PerformCleanup($cleanupScope)| Out-File c:\wsusclean.txt
im Skript wird eine Textdatei wsusclean.txt angelegt, die den Cleanupvorgang protokolliert.
Als nächstes erstellen wir eine Aufgabenplanung.
1. Dafür öffnen wir zunächst die Aufgabenplanung und erstellen eine Aufgabe. Hier muss ein Name für die Aufgabe, das Konto mit welchem diese Aufgabe ausgeführt werden soll und ob die Aufgabe unabhängig von der Benutzeranmeldung ausgeführt werden soll, angegeben werden.
- Im Tab Aktionen wird eine Neue Aktion angelegt. Dabei handelt es sich um die Aktion Programm starten, bei der das Wsuscleanupskript mit der PowerShell ausgeführt wird.
Powershell –file „Pfad zum Skript“
Es erscheint eine Warnung die ignoriert werden kann.
- Im Bereich Trigger, erstellen wir einen Zeitplan. Beispielsweise monatlich, immer der erste Sonntag im Monat. Zu dieser Zeit darf keine WSUS Synchronisation laufen! Hierauf bitte achten und lieber zweimal prüfen.
Nachdem der Vorgang bestätigt wurde, wird man noch nach den Credentials des Nutzers gefragt der die Aufgabe ausführen soll. Anschließend ist der Vorgang abgeschlossen.
Automatisierung Reindexierung
Für alle die noch nie eine Reindexierung mit einer Windows Internal Database durchgeführt haben, habe ich hier eine Liste der nötigen Tools zusammengestellt, die zuvor installiert werden müssen.
Das SQL Skript unter Punkt 5 kann an einem beliebigen Ort gespeichert werden.
Anschließend muss das Dienstprogram SQLCMD einmal ausgeführt werden. Der Pfad befindet sich unter
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
Mit dem folgenden CMD Befehl wird eine Reindexierung durchgeführt:
Ab Windows Server 2012:
sqlcmd -S np:\\.\pipe\MICROSOFT##WID\tsql\query-I <scriptLocation>\WsusDBMaintenance.sql
Vor Windows Server 2012:
sqlcmd -S np:\\.\pipe\MSSQL$MICROSOFT##SSEE\sql\query –i <scriptLocation>\WsusDBMaintenance.sql
Die Reindexierung funktioniert auch über eine Aufgabenplanung.
Die Einstellungen werden hier, wie beim Cleanup durchgeführt.
Als Programm/Skript wählen wir in den Aktionen folgendes für Windows Server 2012:
“C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.exe” -S \\.\pipe\Microsoft##WID\tsql\query -i <scriptLocation>\WsusDBMaintenance.sql
Und bis Windows Server 2012:
“C:\Program Files\Microsoft SQL Server\110\Tools\Binn\SQLCMD.exe -S np:\\.\pipe\MICROSOFT##WID\tsql\query-I <scriptLocation>\WsusDBMaintenance.sql