WSUS.DE
Windows Server Update Services >> Tools, Utilities und Erweiterungen >> WSUS-Statistiken über die PowerShell abrufen
https://www.wsus.de/cgi-bin/yabb/YaBB.pl?num=1253864650

Beitrag begonnen von MartinG am 25.09.09 um 09:44:10

Titel: WSUS-Statistiken über die PowerShell abrufen
Beitrag von MartinG am 25.09.09 um 09:44:10
Mit folgendem PowerShell-Skript lassen sich einige Statistiken von einem WSUS-Server (Version 3) abrufen.

Damit das Skript funktioniert, muss man es mit der Dateiendung .ps1 speichern, z.B. als wsus.ps1. Ausserdem muss das Ausführen von Skripts erst erlaubt werden, siehe dazu folgenden Artikel:
  (Du musst Dich Einloggen oder Registrieren
Oder auch:
  (Du musst Dich Einloggen oder Registrieren

Ist das Skript also erlaubt und als wsus.ps1 gespeichert, ruft man es folgendermassen auf:
(Natürlich muss man dafür die PowerShell installieren... das versteht sich wohl von selbst ;))

Code (]C:\batch\wsus>powershell .\wsus.ps1[/code):


Hier der Inhalt des Skripts: (es hängt ausserdem 3 Postings weiter unten als Anhang dran)
[code]# Variables - set these to fit your needs
###############################################################################
# The server name of your WSUS server
$serverName = 'localhost'

# use SSL connection?
$useSecureConnection = $False

# the port number of your WSUS IIS website
$portNumber = 80

# warn if a computer has not contacted the server for ... days
$daysBeforeWarn = 14



# Script - don't change anything below this line!
###############################################################################

# load WSUS framework
[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")   

# connect to specified WSUS server
# see here for information of the IUpdateServer class
# ->   (Du musst Dich Einloggen oder Registrieren
$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer($serverName, $useSecureConnection, $portNumber)   

# get general status information
# see here for more infos about the properties of GetStatus()
# ->   (Du musst Dich Einloggen oder Registrieren
$status = $wsus.GetStatus()
$totalComputers = $status.ComputerTargetCount
$computersUpToDate = $status.ComputersUpToDateCount
$computersNeedingUpdates = $status.ComputerTargetsNeedingUpdatesCount
$computersWithErrors = $status.ComputerTargetsWithUpdateErrorsCount
$totalUpdates = $status.UpdateCount
$updatesUpToDate = $status.UpdatesUpToDateCount
$updatesNeeded = $status.UpdatesNeededByComputersCount
$updatesWithErrors = $status.UpdatesWithClientErrorsCount

# needed, but not approved updates
$updateScope = new-object Microsoft.UpdateServices.Administration.UpdateScope
$updateScope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates]::NotApproved
$updateServerStatus = $wsus.GetUpdateStatus($updateScope, $False)
$updatesNeededByComputersNotApproved = $updateServerStatus.UpdatesNeededByComputersCount

# computers that did not contact the server in $daysBeforeWarn days
$timeSpan = new-object TimeSpan($daysBeforeWarn, 0, 0, 0)
$computersNotContacted = $wsus.GetComputersNotContactedSinceCount([DateTime]::UtcNow.Subtract($timeSpan))

# computers in the "not assigned" group
$computerTargetScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope
$computersNotAssigned = $wsus.GetComputerTargetGroup([Microsoft.UpdateServices.Administration.ComputerTargetGroupId]::UnassignedComputers).GetComputerTargets().Count


# output
"WSUS statistics"
"--------------------------------------------------"
"Total Computers:                  $totalComputers"
"Computers up to date:                  $computersUpToDate"
"Computers needing updates:            $computersNeedingUpdates"
"Computers with errors:                  $computersWithErrors"
"--------------------------------------------------"
"Total Updates:                        $totalUpdates"
"Updates up to date:                  $updatesUpToDate"
"Updates needed by computers:            $updatesNeeded"
"Updates with errors:                  $updatesWithErrors"
"--------------------------------------------------"
"Updates that need to be approved:      $updatesNeededByComputersNotApproved"
"Computers not contacted in $daysBeforeWarn days:      $computersNotContacted"
"Unassigned computers:                  $computersNotAssigned"


Es ruft nun einige allgemeine Statistiken des WSUS-Servers ab und zeigt sie an, z.B. die Anzahl der Computer, Updates, usw.
Interessant sind hierbei hauptsächlich die Anzahl der Computer, die noch Updates benötigen, bzw. die Anzahl der Updates, die von Computern noch benötigt werden.
Zuletzt zeigt das Skript noch einige Dinge an, die ich interessant und wichtig fand (weil man hier direkt eingreifen sollte):
- Anzahl der Updates, die von mindestens einem Computer benötigt werden, aber die nicht genehmigt sind
- Anzahl der Computer, die den WSUS-Server innerhalb eines bestimmbaren Zeitraums nicht kontaktiert haben
- Anzahl der Computer, die keiner Gruppe zugewiesen sind

Die Ausgabe des Skripts:
[code]C:\batch\wsus>powershell .\wsus.ps1
WSUS statistics
--------------------------------------------------
Total Computers:                        47
Computers up to date:                   36
Computers needing updates:              5
Computers with errors:                  0
--------------------------------------------------
Total Updates:                          2258
Updates up to date:                     1244
Updates needed by computers:            9
Updates with errors:                    0
--------------------------------------------------
Updates that need to be approved:       0
Computers not contacted in 14 days:     1
Unassigned computers:                   0[/code]


Das Skript lässt sich noch um einiges erweitern, um Anregungen und Tipps wird gebeten. :)
Ihr findet Links zu der ausführlichen Dokumentation der WSUS-Klassen und API im Skript.


Was kann man nun  damit anstellen? Ich habe das Skript in unsere Überwachung eingebunden, wozu wir Nagios nutzen:
  (Du musst Dich Einloggen oder Registrieren

Nagios warnt mich nun (z.B. per Mail), wenn noch Updates freigegeben werden müssen oder Fehler in einem Update auftreten.
Über die Nagios-Erweiterung PNP4Nagios, welche den Verlauf der Nagios-Prüfungen auswertet und grafisch darstellt, bekomme ich ausserdem ein Diagramm, das die Anzahl der nicht aktuellen Computer darstellt (s. Anhang). 8-)

Sicher sind noch andere Verwendungen denkbar, z.B. ein täglicher Report per Mail, oder Ähnliches. Würde mich freuen, falls jemand etwas hiermit anfangen kann, dass er sich dann kurz hier verewigt.

nagios_wsus.PNG (Anhang gelöscht)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von Sunny am 25.09.09 um 10:36:01
Wow, das ist ja richtig cool. Vielen Dank dafür. :)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von UMeadow am 25.09.09 um 11:35:12
Wow, saubere Arbeit  :) :)
Könntest Du das Script aber bitte als TXT - Datei noch anängen, ich schaffe es jedenfalls nicht den Code sauber rauszukopieren  :'(

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von MartinG am 25.09.09 um 12:58:11
Aber klar doch, hier ist das Skript im Anhang. Die Endung ".txt" bitte entfernen. ;)

wsus_ps1.txt (Anhang gelöscht)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von UMeadow am 25.09.09 um 13:52:25
Dankeschön  :)
Funktioniert super

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von UMeadow am 25.09.09 um 14:09:07

MartinG schrieb am 25.09.09 um 09:44:10:
siehe dazu folgenden Artikel:
  (Du musst Dich Einloggen oder Registrieren

Mir ist grad aufgefallen, das die Datei wsus-cleanup.txt den selben Inhalt hat wie das PS Script. Aber eigentlich sollte es ja die die dazugehörige CMD sein.

Da ich nicht weiß, an wen ich diesen Hinweis schicken kann, schreib ich einfach mal hier dazu. ;-)
Schönes Wochenende an Alle

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von Sunny am 28.09.09 um 11:10:22

UMeadow schrieb am 25.09.09 um 14:09:07:

Da ich nicht weiß, an wen ich diesen Hinweis schicken kann, schreib ich einfach mal hier dazu. ;-)


Im Zweifel an den Admin der Seite, und nein, ich bin das nicht. ;) Ich hab Marco schon informiert. Kann sich nur noch um Stunden handeln. ;)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von UMeadow am 28.09.09 um 11:23:38
Danke Sunny, werde ich nächste mal machen  :) ;)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von soj am 06.04.10 um 10:41:44
Hallo Jungs,

Nettes Script. Danke. Wäre super wenn mit jemand einen Tip geben könnte warum nur die Windows Clients angezeigt werden, die sich direkt mit meinem Hauptserver verbinden. Die anderen Clients die ihre Updates über Replicaserver holen werden im Script aber nicht angezeigt. Danke.

Gruß SOJ  :)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von Sunny am 06.04.10 um 10:59:23

soj schrieb am 06.04.10 um 10:41:44:

Nettes Script. Danke. Wäre super wenn mit jemand einen Tip geben könnte warum nur die Windows Clients angezeigt werden, die sich direkt mit meinem Hauptserver verbinden. Die anderen Clients die ihre Updates über Replicaserver holen werden im Script aber nicht angezeigt. Danke.


Was ist auf dem Master-WSUS denn in den Optionen bei der Personalisierung aktiviert? Und was ist beim Berichterstattungsrollup eingestellt?

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von soj am 06.04.10 um 12:40:45
Hallo,

Personalisierung:
ich habe dort einen Hacken bei "Computer und Status auf Replikat-Deownstreamserver einbeziehen"

Berichterstattunsrollup:
ich habe dort einen Hacken bei "Statusrollup von Replikat-Downstreamservern"

Gruß SOJ :)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von Sunny am 06.04.10 um 13:07:24
Nimm die Batchdatei mit dazu und schreib dort die Servernamen rein.

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von MartinG am 06.04.10 um 14:24:07
Moin SOJ,

leider habe ich hier keine Downstream-Server, um das Skript daraufhin zu testen. Aus der Doku heraus könntest du aber mal folgendes testen.

Hänge folgenden Code hinten an das Powershell-Skript an. Er ermittelt deine Downstream-Server und fragt bei jedem einzeln die Status-Informationen ab. Wenn dies funktioniert, kannst du natürlich auch das Skript dahingehend umbauen, dass zuerst alle Server durchlaufen werden und ihre Angaben addiert werden, um sie am Ende gesammelt auszugeben.

(Beispiel - nur Computer, keine Updates)

Code (]# downstream servers
$downstreamservercollection = $wsus.GetDownstreamServers()
foreach ($downstreamserver in $downstreamservercollection) {
    $downstreamservername = $downstreamserver.FullDomainName   
    $downstreamserverstatus = $downstreamserver.GetStatus()
    $tC = $downstreamserverstatus.ComputerTargetCount
    $cUTD = $downstreamserverstatus.ComputersUpToDateCount
    $cNU = $downstreamserverstatus.ComputerTargetsNeedingUpdatesCount
    $cWE = $downstreamserverstatus.ComputerTargetsWithUpdateErrorsCount

    # output
    "Downstream server $downstreamservername"
    "--------------------------------------------------"
    "Total Computers:                  $tC"
    "Computers up to date:                  $cUTD"
    "Computers needing updates:            $cNU"
    "Computers with errors:                  $cWE"
}[/code):




Die nächste Angabe ("Updates that need to be approved") sollte sehr einfach auch für Downstream-Server zu ermitteln sein: ändere dafür diese Zeile
[code]$updateServerStatus = $wsus.GetUpdateStatus($updateScope, $False)

in diese Zeile
[code]$updateServerStatus = $wsus.GetUpdateStatus($updateScope, $True)[/code]
(Der zweite Parameter gibt eben an, ob Downstream-Server berücksichtigt werden sollen).


Für die letzten beiden Angaben ("Computers not contacted in xx days" und "Unassigned computers") habe ich bisher nichts gefunden in der Doku. Bist du sicher, dass diese nicht von den Downstream-Server berücksichtigt werden?


Wäre nett, wenn du Rückmeldung gibst, ob das funktioniert oder nicht. :)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von soj am 07.04.10 um 15:52:17
Hallo MartinG,

erst einmal einen riesen Dank. Ich habe erst mal einen Schnelltest durchgeführt. Die Ergänzung gehen super. Bis auf die Sache mit "$updateServerStatus = $wsus.GetUpdateStatus($updateScope, $True/$False)", die bringt keine Änderung in der Anzeige.

Die beiden Angaben sind für mich nicht so wichtig. Für mich ist die Gesamtanzahl und die Computer mit Fehler wichtig. Die sollen dann später einmal per Email verschickt werden.

Was ich auch noch suche ist ein Automatischer Export von Berichten. Hast du da noch einen Tip. Danke.

Gruß SOJ :)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von MartinG am 08.04.10 um 09:19:20

soj schrieb am 07.04.10 um 15:52:17:
Hallo MartinG,

erst einmal einen riesen Dank. Ich habe erst mal einen Schnelltest durchgeführt. Die Ergänzung gehen super. Bis auf die Sache mit "$updateServerStatus = $wsus.GetUpdateStatus($updateScope, $True/$False)", die bringt keine Änderung in der Anzeige.

Moin SOJ,

super, freut mich dass der erste Teil schonmal funktioniert.

Warum die Änderung an "Updates that need to be approved" nicht funktioniert, verstehe ich nicht. Laut   (Du musst Dich Einloggen oder Registrieren müsste die Änderung auf "$True" die gewünschten Informationen liefern:

Zitat:
If true, include computers that synchronize from downstream servers when determining the [...] UpdatesNeededByComputersCount.


Fragst du denn den Haupt-WSUS-Server ab, also denjenigen, an den die Replika-Server angebunden sind? Und gibt es bei dir überhaupt auf den Replika-Servern Updates, die nicht freigegeben sind, aber von deren Clients benötigt werden?




soj schrieb am 07.04.10 um 15:52:17:
Was ich auch noch suche ist ein Automatischer Export von Berichten. Hast du da noch einen Tip.

Keine fertige Lösung, aber dafür dürfte es verschiedenste Möglichkeiten geben.

Selbstgemacht könntest du in das Powershell-Skript noch Routinen zum Versenden einer E-Mail einbauen, so dass die Ausgaben direkt verschickt werden. Das Skript könntest du dann über den Windows Taskplaner automatisch regelmäßig starten lassen.

Oder du schreibst eine Batch-Datei, die vom Taskplaner aufgerufen wird. Diese wiederum ruft das Powershell-Skript auf und schreibt die Ausgabe in eine Text-Datei. Diese verschickst du dann mit einem Tool wie BLAT (such mal danach im Internet).

Oder du schreibst ein komplettes Reporting-Programm, sei es als Powershell-Skript oder vielleicht in einer anderen Hochsprache wie C#.

Du kannst es dir beliebig kompliziert machen, je nachdem, was du an Funktionen benötigst, wie deine (Programmier-)Kenntnisse aussehen und wieviel Zeit du investieren möchtest. :)


Bestimmt gibt es auch fertige Lösungen, die regelmässig ein Programm starten und dessen Ausgabe per Mail verschicken können. Ein solches kenne ich aber nicht aus dem Kopf, müsstest du ebenfalls mal nach suchen.

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von soj am 09.04.10 um 07:57:09
Hallo MartinG,

Ich möchte nur den Hauptserver abfragen. Es gibt auch Updates, die auf den Clients benötigt werden und die nicht freigegeben sind. Vorrangig interessieren mich aber die Clients mit den Fehlern, danach die fehlenden Updates.
Das mit dem Email versenden hört sich super an, das werde ich doch gleich mal einbauen.
Ich denke ich werde das Powershell Script etwas ausbauen und nach meinen Bedürfnissen anpassen.

Gruß SOJ :)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von M4tRiX am 20.09.10 um 15:13:16
Auch wenn der Thread hier ein bisschen älter ist habe ich noch eine Frage dazu...

Die Statistiken mit den Downstream-Server funktioniert alles bestens nur die Angabe "GetComputersNotContactedSinceCount" ist bei den Downstreamserver unbekannt. Ich habe die beiden Skripte von MartinG zusammengefügt und dann verwendet.

Ich habe nur den foreach-Teil überarbeitet..

So sieht der jetzt aus..


Code (]foreach ($downstreamserver in $downstreamservercollection)
{    $downstreamservername = $downstreamserver.FullDomainName
      $downstreamserverstatus = $downstreamserver.GetStatus()
      $downtotalComputers = $downstreamserverstatus.ComputerTargetCount
      $downcomputersUpToDate = $downstreamserverstatus.ComputersUpToDateCount
      $downcomputersNeedingUpdates = $downstreamserverstatus.ComputerTargetsNeedingUpdatesCount
      $downcomputersWithErrors = $downstreamserverstatus.ComputerTargetsWithUpdateErrorsCount
      $downtotalUpdates = $downstreamserverstatus.UpdateCount
      $downupdatesUpToDate = $downstreamserverstatus.UpdatesUpToDateCount
      $downupdatesNeeded = $downstreamserverstatus.UpdatesNeededByComputersCount
      $downupdatesWithErrors = $downstreamserverstatus.UpdatesWithClientErrorsCount
      # needed, but not approved updates
      $downupdateScope = new-object Microsoft.UpdateServices.Administration.UpdateScope
      $downupdateScope.ApprovedStates = [Microsoft.UpdateServices.Administration.ApprovedStates):

::NotApproved
      $downupdateServerStatus = $wsus.GetUpdateStatus($downupdateScope, $TRUE)
      $downupdatesNeededByComputersNotApproved = $downstreamserverstatus.UpdatesNeededByComputersCount
      # computers that did not contact the server in $daysBeforeWarn days
      $timeSpan = new-object TimeSpan($daysBeforeWarn, 0, 0, 0)
      $downcomputersNotContacted = $wsus.GetComputersNotContactedSinceCount([DateTime]::UtcNow.Subtract($timeSpan))
      # computers in the "not assigned" group
      $downcomputerTargetScope = new-object Microsoft.UpdateServices.Administration.ComputerTargetScope
      $downcomputersNotAssigned = $wsus.GetComputerTargetGroup([Microsoft.UpdateServices.Administration.ComputerTargetGroupId]::UnassignedComputers).GetComputerTargets().Count
# output   
"Downstream server $downstreamservername"
"--------------------------------------------------"
"Total Computers:                  $downtotalComputers"
"Computers up to date:                  $downcomputersUpToDate"
"Computers needing updates:            $downcomputersNeedingUpdates"
"Computers with errors:                  $downcomputersWithErrors"
"--------------------------------------------------"
"Total Updates:                        $downtotalUpdates"
"Updates up to date:                  $downupdatesUpToDate"
"Updates needed by computers:            $downupdatesNeeded"
"Updates with errors:                  $downupdatesWithErrors"
"--------------------------------------------------"
"Updates that need to be approved:      $downupdatesNeededByComputersNotApproved"
"Computers not contacted in $daysBeforeWarn days:      $downcomputersNotContacted"
"Unassigned computers:                  $downcomputersNotAssigned"

#Output in die Datei

"Servername:"  + $downstreamservername | Add-content $datei
"Total Computers: " + $downtotalComputers | Add-content $datei
"Total Updates: " + $downtotalUpdates | Add-content $datei
"Computers up to Date: "+ $downcomputersUpToDate | Add-content $datei
"Computers needed Updates: " +$downcomputersNeedingUpdates | Add-content $datei
"Computers with Error: " + $downcomputersWithErrors | Add-content $datei
"Updates up to Date: " + $downupdatesUpToDate | Add-content $datei
"Updates needed by Computer: " + $downupdatesNeeded | Add-content $datei
"Updates with Client Errors: " + $downupdatesWithErrors | Add-content $datei
"Updates that need to be approved: " + $downupdatesNeededByComputersNotApproved | Add-content $datei
#"Computers not contacted in $daysBeforeWarn days: " + $downcomputersNotContacted | Add-content $datei
"Unassigned computers: " + $downcomputersNotAssigned | Add-content $datei
"___________________________________________" | Add-content $datei
}


Könnt ihr mir helfen wieso PowerShell "GetComputersNotContactedSinceCount" nicht kennt? Derzeit habe rufe ich diese Information über die Variable "$wsus" auf. Das ist bestimmt falsch, weil ich erhalte in dem Fall die Daten des Upstream-Servers.. Was ja auch logisch ist. Aber was muss ich da eintragen damit die downstreamdaten abgefragt werden?


Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von s_it am 10.03.11 um 15:55:26
Hallo MartinG,
ich bin neu in WSUS Group, ich arbeite seit 4 Wochewn bei ine Firma, die das Nagios überwachungstool zu bestimmte MS Server 2003 und SBS 2008 ansetzt und das Server Monitoring wird auch zu meiner zentralen Aufgabe sein.

Frage:

wie liefert man nur die Server Update ( Windows Patches) Information zu Nagios??

wie bindet man solche Scripte bzw. Plugin oder eine fertige Vorlage ??

ich möchte direkt im nagios festellen welche updates schon insrtalliert aud den server und welche fehlen??

bin dankbar für eine Antwort.

Gruß
s_it

:)

Titel: Re: WSUS-Statistiken über die PowerShell abrufen
Beitrag von MartinG am 28.03.11 um 11:03:35

M4tRiX schrieb am 20.09.10 um 15:13:16:
[...]
Könnt ihr mir helfen wieso PowerShell "GetComputersNotContactedSinceCount" nicht kennt? Derzeit habe rufe ich diese Information über die Variable "$wsus" auf. Das ist bestimmt falsch, weil ich erhalte in dem Fall die Daten des Upstream-Servers.. Was ja auch logisch ist. Aber was muss ich da eintragen damit die downstreamdaten abgefragt werden?


Moin M4tRiX, da kann ich dir leider nicht helfen, da wir bei uns keine Downstream-Server einsetzen und ich es somit nicht testen kann.



s_it schrieb am 10.03.11 um 15:55:26:
[...]
Frage:

wie liefert man nur die Server Update ( Windows Patches) Information zu Nagios??

wie bindet man solche Scripte bzw. Plugin oder eine fertige Vorlage ??

ich möchte direkt im nagios festellen welche updates schon insrtalliert aud den server und welche fehlen??

bin dankbar für eine Antwort.

Gruß
s_it

:)

Moin s_it, mal sehen, wie ich dir helfen kann.
Für eine Liste, welche Patches auf einem Server noch fehlen, würde ich Nagios nicht unbedingt einsetzen wollen. Nagios erlaubt ja nur relativ kurze Text-Meldungen, siehe hier:
  (Du musst Dich Einloggen oder Registrieren

Im Prinzip sollte jedes Nagios Plugin nur eine Zeile Text zurückgeben. Es wird schwierig werden, dort eine Liste aller fehlenden Patches unterzubringen.

Deine Frage zur Einbindung verstehe ich nicht ganz, aber ich werde mal beschreiben, wie ich es bei uns eingebunden habe. Musst nachfragen, wenn noch etwas fehlt.

Wie das Skript von der PowerShell gestartet wird, hatte ich ja gleich im ersten Beitrag schon beschrieben. Damit Nagios es starten und die Rückgabe auslesen kann, nutze ich NRPE (Nagios Remote Plugin Execute) - ein Windows-Dienst zur Abfrage lokaler Werte, aufgerufen vom Nagios-Server.

Damit der NRPE auf dem WSUS-Server das Skript aufrufen kann, musst du in der NSC.ini folgende Zeile hinzufügen:

Code (][NRPE Handlers):

nrpe_wsus=cmd /c echo scripts\wsus.ps1 | powershell -command -


Auf dem Nagios-Server musst du dann ein Kommando definieren, z.B. so:

Code (]
define command {
  command_name   check_nrpe_wsus
  command_line   $USER1$/check_nrpe -H $HOSTADDRESS$ -c nrpe_wsus -t 20
}
[/code):



Zuletzt musst du dann nur noch beim WSUS-Server (in Nagios "Host") den Service einfügen:
[code]
define service {
  use                     generic-service
  host_name               xxx
  service_description     WSUS Status
  check_command           check_nrpe_wsus
  normal_check_interval   60
}


Nagios sollte nun nach dem nächsten Restart den neuen Service finden und per NRPE die Daten vom WSUS-Server abholen. :)

WSUS.DE » Powered by YaBB 2.6.11!
YaBB Forum Software © 2000-2025. Alle Rechte vorbehalten.