Der Universal-Check

Seit Version 3.0 verfügt PC-Check über einen neuen Check-Typen: Den Universal-Check. 

Was kann der Universal-Check?

Der Universal-Check ist in der Lage, jeden Kommandozeilen-Befehl auszuführen und das Ergebnis auszuwerten und darzustellen. Ob einfache Betriebssystem-Kommandos, Verkettung von Befehlen, Batch-, VBS- oder PowerShell-Dateien: Der Universal-Check checkt alles.
Geben Sie einfach an, welcher Befehl ausgeführt werden soll und welcher Text erwartet wird. Hier kann ein normaler Text oder ein Regulärer Ausdruck (regular expression) verwendet werden. Sie können sogar bestimmen, welcher Text im PC-Check Client im Positiv-Fall (grün) und im Negativ-Fall (rot) angezeigt wird.

Beispiele

Beispiel 1: Mit dem dir-Befehl überprüfen, ob eine Datei vorhanden ist
Beispiel 2: Mit dem netsh-Befehl überprüfen, ob ein bestimmtes WLAN zur Verfügung steht
Beispiel 3: Mit einem VBScript das Alter einer Logdatei überprüfen

Beispiel 1: Mit dem dir-Befehl überprüfen, ob eine Datei vorhanden ist

Diese Aufgabe wäre auch schon mit dem Check "Datei vorhanden" lösbar, allerdings nur in einem fest definierten Verzeichnis. Wir möchten überprüfen, ob die Datei sich in einem Verzeichnis oder einem der Unterverzeichnisse befindet. Verwenden Sie also den Befehl dir /s, der auch Dateien in Unterverzeichnissen anzeigt.

Wir überprüfen im Verzeichnis C:\Daten und allen Unterverzeichnissen das Vorhandensein der Datei MeineDatei.txt. Ist die Datei vorhanden, soll der PC-Check Client "Datei vorhanden" anzeigen (grün). Ist sie nicht vorhanden, soll er "Datei fehlt" anzeigen (rot).

Erstellen Sie dazu im PC-Check Designer einen neuen Universal-Check und konfigurieren ihn folgendermaßen:

Das Ergebnis im PC-Check Client fällt wie gewünscht aus:

Ist die Datei vorhanden, erscheint der Text "Datei vorhanden". Existiert sie nicht, erscheint das rote X mit dem Text "Datei fehlt".

Beispiel 2: Mit dem netsh-Befehl überprüfen, ob ein bestimmtes WLAN zur Verfügung steht

Wir wollen überprüfen, ob das WLAN mit der SSID "Produktions_WLAN" zur Verfügung steht. Ist es verfügbar, soll der PC-Check Client "WLAN verfügbar" anzeigen (grün). Ist es nicht vorhanden, soll er "WLAN fehlt" anzeigen (rot).

Um eine Liste aller verfügbaren WLANs anzuzeigen, verwenden Sie den Befehl netsh wlan show networks. Der liefert eine Ausgabe wie diese:

Erstellen Sie im PC-Check Designer einen neuen Universal-Check und konfigurieren Sie ihn folgendermaßen:

Titel: Produktions-WLAN verfügbar
Befehl: netsh wlan show networks
Erwarteter Text: Produktions_WLAN
Alternativer OK-Text: WLAN verfügbar
Alternativer Fehlertext: WLAN fehlt

So sieht das Ergebnis aus, wenn das WLAN vorhanden ist:

Möchten Sie überprüfen, ob wenigstens eins von zwei WLANs vorhanden ist, können Sie die ODER-Verknüpfung verwenden. Soll der Check als erfolgreich angesehen werden, wenn mindestens eins der WLANs "Produktions_WLAN" und "Firmen_WLAN" vorhanden ist, verwenden Sie bei Erwarteter Text den Ausdruck Produktions_WLAN||Firmen_WLAN.

Beispiel 3: Mit einem VBScript das Alter einer Logdatei überprüfen

Wir wollen sicherstellen, dass eine Logdatei nicht älter als 5 Minuten ist. Genauer gesagt betrachten wir das Änderungsdatum (LastModified) der Datei Application.log. Wurde die Datei innerhalb der letzen 5 Minuten modifiziert, soll der PC-Check Client das Dateialter und eine grüne OK-Meldung anzeigen. Ist die Datei älter (oder nicht vorhanden), soll er eine rote Fehlermeldung anzeigen.

Wir verwenden dafür ein kleines VBScript Dateialter.vbs. Sie können das Skript zentral im Netzwerk ablegen oder auf den Rechnern, auf denen es benötigt wird. Wir legen es im %files%-Ordner ab. Das ist der Ordner Files in Ihrer ConfigShare-Freigabe, der bei jedem Start von PC-Check mit dem lokalen Client synchronisiert wird. Lokal liegen die Dateien dann unter %appdata%\PC-Check\Files.

Erstellen Sie im PC-Check Designer einen neuen Universal-Check und konfigurieren Sie ihn folgendermaßen:

Titel: Datei Application.log aktuell
Befehl: cscript /nologo "%appdata%\PC-Check\Files\Dateialter.vbs" "C:\Application\Application.log" 5
Erwarteter Text: Datei ist neu
Alternativer OK-Text: %output%
Alternativer Fehlertext: %output%

Das VBScript gibt das Alter der Datei in Minuten aus und den Text "Datei ist neu" oder "Datei ist alt". Durch die Verwendung der Variablen %output% im OK-Text und im Fehlertext wird im PC-Check Client als Ergebnis das Dateialter angezeigt.

Das VBScript:

' Aufruf:
' cscript /nologo DateiAlter.vbs <Dateiname> <Dateialter in Minuten>

MyFilename = WScript.Arguments(0)
MyAgeInMinutes = CInt(WScript.Arguments(1))

Set fso = CreateObject("Scripting.FileSystemObject")

If Not fso.FileExists(MyFilename) Then
  WScript.Echo "Datei fehlt"
  WScript.Quit
End If

Set MyFile = fso.GetFile(MyFilename)

diff = DateDiff("n", MyFile.DateLastModified, Now)   ' n = Minuten

If diff >= MyAgeInMinutes Then output = diff & " Minute(n)                  --> Datei ist alt"
If diff < MyAgeInMinutes Then output = diff & " Minute(n)                  --> Datei ist neu"

WScript.Echo output 

So sieht das Ergebnis aus, wenn die Datei vor weniger als 5 Minuten modifiziert wurde:

Die Verwendung von Skripten aller Art ermöglicht es Ihnen, jeden beliebigen Zustand mit PC-Check zu überprüfen und zu visualisieren. 

Falls Sie an einer Stelle nicht weiterkommen: Fragen Sie uns, wir helfen Ihnen weiter --> Zum Kontaktformular