Dienste überwachen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Fletchan.

    Dienste überwachen

    Hallo,

    ich möchte einen kleinen Dienst schreiben (das Dienst erstellen macht kein Progblem) der einige andere Dienste und Prozesse überwacht. Ob Sie laufen oder nicht und wenn nicht warnmeldungen ausgibt!


    Kann mir jemand sagen, wie ich Dienste überwache (also ob Sie laufen??)

    und wie man Prozesse überwacht??


    Gibt es vieleicht sogar ein Ereignis, welches Ausgelö´t wird, wenn ein dienst stoppt????
    Kuck dir mal die ServiceProcess.ServiceController - Klasse an:

    VB.NET-Quellcode

    1. Dim Service As New ServiceProcess.ServiceController("Netlogon")
    2. If Service.Status = ServiceProcess.ServiceControllerStatus.Running Then 'Hier gibt es noch mehr Statuse
    3. 'Dein Dienst läuft
    4. End If


    Du musst aber aufpassen, dass du bei Dim Service As New ServiceProcess.ServiceController("Netlogon") nicht den angezeigten Namen, sondern den eigendlichen Namen nimmst (z.B. Netlogon statt Anmeldedienst)

    lg

    Und wie prüfe ich den Status von Diensten auf anderen Rechnern (Servern)?

    Hallo,

    das Beispiel ist ja nur für den lokalen Rechner gedacht. Wenn ich aber jetzt die Dienste auf einem Server überwachen möchte, wie stelle ich das denn am dümmsten an?
    Herzlichen Dank für ein kleines Beispiel!
    Hi

    Es gibt zumindest eine Property: "machineName" (The computer on which the service resides). Das kannst du sogar gleich mitgeben:

    VB.NET-Quellcode

    1. Dim Service As New ServiceProcess.ServiceController("Netlogon", "ServerName")


    Ob das so funktioniert weis ich nicht, aber ein Versuch wärs wert. Ein Event scheint es nicht zu geben, aber das könntest du ja selber machen indem du regelmässig überprüfst ob der Service läuft.

    Schau dir solche Klassen mal im Object Browser von VB an oder google nach ihnen, das hilft meistens.

    Gruss,
    Fletchan