Key oder Datei für Windows-Updates

Ich bin auf der Suche nach einen registry-Key oder einer Datei in der die Anzahl der Verfügbaren, optionalen und wichtigen Windows-Updates stehen.
Es geht mir darum die Anzahl der Windows-Updates möglichst schnell auszulesen. Um sie über den Agent eines Monitoring-Programmes auszulesen bzw. Weiter an den Zabbix-Proxy zu geben. Ich habe nur das Probelm das der Agent in timeout von max. 30 s hat - wird in dieser Zeit kein gültiger Wert zurückgeliefert wird das Item im Zabbix-Frontend als unsupported definiert.
Derzeit löse ich das ganze über ein Skript das über die Windowsaufgabenplanung ausgeführt wird und die Ergebnisse ( Anzahl der Updates) in eine Datei schreibt. Das Auslesen dauert dann nicht mehr länger als 30 s und somit ist Item supported und ich bekomme einen Wert.
Der Nachteil dieser Lösung IST aber ich muss für jeden Host den ich überwachen will das Skript anlegen und einen Schedul importieren bzw. erstellen.
 
Zabbix kann sowas angeblich überwachen. Da wird das Ergebnis des Skripts einfach über den Zabbix-Agent an den Zabbix-Server übergeben. Siehe dazu auch https://www.zabbix.com/wiki/howto/monitor/os/windows/wua-win32 Dort findet sich dafür auch ein passendes VB-Script, wobei man updateSearcher.Search(””) wohl noch diverse Such-Parameter mitgeben kann. Ein Beispiel dafür findet sich unter Searching, Downloading, and Installing Updates (Windows) Und vermutlich gibt's auch noch weitere Doku dazu im MSDN. Da ich aber eigentlich so gar keine Ahnung von Windows hab und von VBScript schon gar nicht und gerade viel zu faul zum Suchen bin, weiss ich nicht, ob man da auch als Suchkriterien "critical", "optional", "important" oder ähnliches verwenden kann. Ist aber vielleicht mal 'ne Suche Wert. ;)
 
Danke für eure Antworten !
Moinsen,
Da Windows in dieser Hinsicht aber wirklich gemein ist, frage ich nun nur noch ab, wann das letzte Update statt fand.

Das hätte ich vielleicht noch erwähnen sollen den Timestamp, wann zuletzt nach Updates gesucht wurde kann ich ohne Probleme unter 30s auslesen, dafür braucht das Skript nicht mehr als 30s! - Also diesen Wert habe ich schon - um die Anzahl der optionalen und wichtigen Updates zu ermitteln wird aber diese Zeitspanne leider überschritten.


Zabbix kann sowas angeblich überwachen. Da wird das Ergebnis des Skripts einfach über den Zabbix-Agent an den Zabbix-Server übergeben. Siehe dazu auch https://www.zabbix.com/wiki/howto/monitor/os/windows/wua-win32 Dort findet sich dafür auch ein passendes VB-Script, wobei man updateSearcher.Search(””) wohl noch diverse Such-Parameter mitgeben kann.

Nach genau der von dir beschrieben Methode gehe ich vor :) nur mit diesen Skript: (Monitoring Windows Updates - Zabbix.org). [Dort ist auch CreateUpdateSearcher() zu finden.]
Das Skript bietet 5 Such-Parameter total, priority, optional, last, full.
Und alle liefern einen gültigen Wert, aber leider nur einer in der vorgesehen Zeitspanne. - Da das verlinkte Skript ähnlich zu funktionieren scheint bin ich nich großer Hoffnung, das es schneller arbeiten wird.
Darum habe ich auch nach einer Datei oder einen Key gesucht in der bereits der Wert steht.

Danke für die schnellen Antworten - ich werd das trotzdem mal ausprobieren. - Meine vbs-Kenntnisse sind leider noch unterirdisch.
 
Das Problem ist wahrscheinlich, dass vbs die entsprechende WMI-Schnittstelle nutzt ... Und die ist eben nur so schnell wie der manuelle Klich auf "nach Updates suchen".
Alternativ könnte man sich einen eigenen Cache bauen, der quasi folgendes macht: letzten Wert zurückgeben, suchen, speichern (in der Reihenfolge). Dann ist es zwar nicht Top-aktuell aber schnell.
 
Zurück
Oben