![]() |
Laufende Dienste abfragen (lokal und Netzwerk?)
Hallo Leute
Ich hätte da mal eine Frage: 1. Kann man den Zustand eines Dienstes von einem lokalen Computer abfragen? 2. Kann man übers Netzwerk abfragen ob ein Computer den Nachrichtendienst aktiviert/deaktiviert hat? Es geht bei Punkt 2 NUR um das auslesen. Bei Punk 1 vielleicht auch um das deaktivieren/aktivieren ;-) Ihr habt es sicher schon erraten, es soll ein Net-Send-Proggi werden. ich habe zwar schon im Forum geguckt und Google genutzt doch leider bin ich auf nichts passendes gestoßen. Bitte ein Tipp von eurer Seite, das währe hilfreich ;-) Vielen Dank schonmal EDIT: Bin morgen erst wieder on um zu antworten. Bis dahin: Gute Nacht und schlaft gut... |
Re: Laufende Dienste abfragen (lokal und Netzwerk?)
Net help services / net start / net stop
|
Re: Laufende Dienste abfragen (lokal und Netzwerk?)
Liste der Anhänge anzeigen (Anzahl: 1)
Dienste auflisten:
![]() Und im Anhang meine NetSend Klasse. Allerdings würde ich mir eine andere Art der Kommunikation überlegen. Seit XP SP2 ist der Dienst deaktiviert und ab Vista gibt es ihn nicht mehr. |
Re: Laufende Dienste abfragen (lokal und Netzwerk?)
hm... ich bedanke mich schonmal für die ausführliche Antwort :thumb:
Jedoch gestaltet sich das Verstehen dieses Textes als ziemlich schwer :gruebel: Auch ein EInbauen in mein Programm war nicht möglich da es mir einige Fehler ausgeschmissen hat... Naja, ich werd mir den Link zu dem Thread mal speichern und versuchen in den Nächsten Wochen / Monaten das ganze nach zu lernen um dann zu vertstegen was du da macht. :-) Vielen Dank trotzdem Liebe Grüße stho |
Re: Laufende Dienste abfragen (lokal und Netzwerk?)
Hallo,
schau Dir bitte mal das da an: ![]() ein Auszug aus der Benutzung dieser Klasse:
Delphi-Quellcode:
Der Codeausschnitt ist so nicht zu verwenden, er dient nur als "Ideenlieferant". Er wird in einem Dienst benutzt, der zur Serverüberwachung u. a. das Laufen definierter Dienste prüft und ggfls. die Dienste neu startet bzw. im Fehlerfalle per Mail den Admin benachrichtigt. Der Dienst läuft auf mehreren Servern, die sich so gegenseitig überwachen.
...
Try ServiceManager.MachineName := '\\' + sServer; // Servername ServiceManager.ServiceName := sl[k]; // Liste der Dienste, die geprüft werden sollen iError := 0; Repeat Inc(iError); Until ServiceManager.Open or (iError >= 3); iError := 0; Repeat Inc(iError); Until (ServiceManager.State <> 0) or (iError >= 3); Case ServiceManager.State Of SERVICE_RUNNING : sColor := sEvenOdd; // Status ist okay. SERVICE_START_PENDING, SERVICE_CONTINUE_PENDING : sColor := ' class="yellow" '; // Status wird vermutlich in Kürze okay sein. SERVICE_STOP_PENDING, SERVICE_PAUSE_PENDING : Begin // Status muß geändert werden. // Hier müssen wir warten, bis Service angehalten bzw. beendet wurde. sColor := ' class="red" '; bMailIt := True; End; SERVICE_STOPPED : Begin // Status muß geändert werden. If Not ServiceManager.Start Then Begin sColor := ' class="red" '; End; Case ServiceManager.State Of SERVICE_RUNNING : Begin sColor := ' class="yellow" '; // Status ist okay. bMailIt := True; end; else begin sColor := 'class="red"'; slSSI.Add('<tr><th ' + sColor + ' colspan="5">' + 'Service konnte nicht gestartet werden?' + '</th></tr>'); bMailIt := True; end; end; End; SERVICE_PAUSED : Begin // Status muß geändert werden. sColor := ' class="red" '; ServiceManager.Continue; iError := 0; while ServiceManager.IsPending and (iError < 30) do Begin // bis zu 15 Sekunden auf den Start warten Sleep(500); Inc(iError); end; Case ServiceManager.State Of SERVICE_RUNNING : sColor := ''; // Status ist okay. else bMailIt := True; end; End; Else sColor := ' class="red" '; // Status muß durch Anwender geprüft werden. bMailIt := True; End; ServiceManager.Close; Except On e : Exception Do Begin ErrorLog(tmDienste.Name + ' Exception: ' + e.Message,0); End; End; ... |
Re: Laufende Dienste abfragen (lokal und Netzwerk?)
Nun, es ist wirklich nett von dir und deinen Eifer kann man nur bewundern :-) :thumb:
Aber da ich ein Delphi-Anfänger mit 8 Wochen Erfahrung bin kann ich deinen Text genau so gut lesen wie meine Schwester (4 Jahre alt)... 8) Liebe Grüße stho |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:12 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz