Es gibt seit heute ein Update des Powershell-Scripts auf Version 1.2
Neu in der Version ist das Caching der Updates – dies macht sich in einer dramatischen Geschwindigkeitssteigerung des Skriptes sowie einer deutlichen Reduzierung der Netzwerkbelastung bemerkbar.
Der Gültigkeitszeitraum des Caches lässt sich beliebig einstellen von einer Stunde bis x Stunden.
Das Skript ist über die Projektseite auf Nagios Exchange zu beziehen.
Wenn das Windows 2008 R2 Hyper-V Ereignis 12510 ignoriert wurde und das Zertifikat nun abgelaufen ist, ist eine Verbindung zu den VM-Konsolen nicht mehr möglich.
Nun haben Sie zwei Möglichkeiten:
1. Manuell ein neues Zertifikat erstellen
2. Den Hyper-V VMMS-Dienst anhalten, via MMC das Zertifikat für den Dienst löschen, den VMMS-Dienst wieder starten und zuletzt alle VMs händisch stoppen und wieder starten – eine Anleitung auf englischer Sprache gibt es hier.
Bei der zweiten Lösungsmöglichkeit wird automatisch ein neues Zertifikat für den Dienst erstellt – dieses hat jedoch wieder nur eine Gültigkeitsdauer von 12 Monaten, sodass man den Vorgang ständig wiederholen muss.
Die erste Lösungsmöglichkeit generiert ein Zertifikat, das bis 2050 gültig ist und alle Maschinen werden nacheinander neugestartet bzw. gespeichert und wieder gestartet – somit ist Ruhe und man kann sich wichtigeren Dingen widmen.
Welche Möglichkeit man wählt ist jedem selbst überlassen, ich für meinen Teil hasse es jedoch, die gleichen stupiden Arbeitsabläufe immer wieder tun zu müssen – so etwas macht ein Skript wesentlich besser als der Mensch.
Da die bis dato im Netz zu auffindbaren Lösungen zum Check von Windows Updates per Nagios NRPE / NSClient++ allesamt viel zu langsam in der Ausführung sind (führt in größeren Umgebungen zu unzähligen Mails wegen Timeout beim Skriptaufruf) und dazu noch in VBScript geschrieben sind, habe ich mich entschlossen selbst eines für die Powershell zu entwickeln.
Das entwickelte Skript checkt:
- ob und wie viele kritische und optionale Windowsupdates zur Installation bereit stehen
- ob das System nach erfolgreich installierten Updates auf einen Neustart wartet
Features:
- hält sich an die 1024 Byte Begrenzung des NRPE Return Packets
- ausgeblendete Updates werden mit dem Status OK gemeldet
Installation:
- check_windows_updates.ps1 nach NSClient++\scripts\ kopieren
- ein Powershell-Fenster als Administrator öffnen und die Ausführungsrichtlinie für Skripte ändern:
- Set-ExecutionPolicy remotesigned
- Bearbeiten der NSClient++-Konfiguration:
- check_updates=cmd /c echo scripts\check_windows_updates.ps1; exit $LastExitCode | powershell.exe -command -
- Neustart des Dienstes NSClient++
- Fertig
Jetzt kann bequem per Nagios NRPE der Status für Windows Updates abgerufen werden:
/usr/lib/nagios/plugins/check_nrpe -H hostname -c check_updates
oder als Nagios Dienstkonfiguration:
define service {
service_description WIN-UPDATES
use generic-service
check_command check_nrpe!check_updates!1
hostgroup_name multiple-windows-servers
host_name single-windows-server
}
Das Skript kann auf der offiziellen Nagios-Seite heruntergeladen werden:
zur Projektseite wechseln

Auf einem Windows 2008 R2-Server wird beim Installieren der Hyper-V-Rolle ein Zertifikat für das Computerkonto erstellt – dieses hat per default eine Gültigkeit von 12 Monaten und dient der Identitätssicherung von Remotecomputern. Läuft dieses Zertifikat ab, ist der Remotezugriff auf die virtuellen Computer nicht mehr möglich.
Das Ereignis 12510, Hyper-V-VMMS wird ausgelöst, wenn das besagte Zertifikat innerhalb der nächsten 30 Tage abläuft. Um das Zertifikat zu erneuern habe ich ein gutes Powershell- Skript im Scriptcenter von Microsoft TechNet entdeckt:
http://gallery.technet.microsoft.com/scriptcenter/be2da634-978b-48d7-b3ab-01c593c9d177/
Dieses Powershell-Skript nutzt das Tool MakeCert.exe, um ein neues Zertifikat zu erstellen und in den Zertifikatsspeicher des Computerkontos einzubinden, sodass ein nahtloser Zugriff auf die virtuellen Instanzen gesichert ist.
Mehr Informationen über die Nutzung von Hyper-V-Zertifikaten finden Sie hier:
http://technet.microsoft.com/en-us/library/ff935311(WS.10).aspx
Mehr Informationen zum Tool MakeCert.exe sowie dessen Download finden Sie hier:
http://msdn.microsoft.com/en-us/library/aa386968(VS.85).aspx
Für jeden, der mal in die Verlegenheit kommt, mit den Bordmitteln eines Windows 2008 Servers ein Backup auf ein Netzlaufwerk machen zu müssen, dem hilft bestimmt dieses folgende kurze HowTo:
Zunächst müssen auf dem entsprechenden Windows-Host im Server-Manager folgende Features hinzugefügt werden:
-
Windows Server-Sicherung
-
Befehlszeilentools
Da die grafische Oberfläche kein Backup auf ein Netzlaufwerk unterstützt, muss ein Workaround per Befehlszeile eingerichtet werden. Dazu im Server-Manager unter Konfiguration → Aufgabenplanung → Aufgabenplanungsbibliothek im Menü rechts Einfache Aufgabe erstellen wählen:
-
im ersten Dialogfeld einen möglichst sprechenden Namen und Beschreibung eintragen
-
Täglich ist als Trigger bei einer Datensicherung die Option der Wahl
-
gewünschte Uhrzeit einstellen
-
Aktion → Programm starten
-
Programm: wbadmin
-
Argumente: start backup -backuptarget:\\server\freigabename$\ -include:c: -allcritical -quiet
Nun die Aufgabe speichern und das automatische Backup ist eingerichtet.
WICHTIG: es steht immer nur ein Backup des Servers zur Verfügung, da es jeden Tag vollständig überschrieben wird. Dies ist ein „Feature“ der Windows Serversicherung auf ein Netzlaufwerk.
Zuguterletzt sollte natütlich nicht unerwähnt bleiben, dass das entsprechende Netzlaufwerk angelegt und mit passenden Zugriffsrechten ausgestattet sein muss.