![]() |
Dienste Remote Starten u. Beenden, Rechte?
Hallo,
mein Programm soll einen bestimmten Dienst, der auf mehreren Servern läuft beenden und später auch wieder starten können. In der DP hab ich u.a. dieses (und Varianten) dazu gefunden und würd das gerne einstzen: ![]() Ich hab dazu aber ein paar Fragen: 1) Machine soll als UNC path angegeben werden, bzw. ganz unten steht was von Name der Machine: Geht das auch über die IP-Adresse irgendwie? 2) Mit welchen Rechten muss mein Programm den laufen, damit es auf einem anderen Rechner/Server Dienste starten und stoppen kann? Mit einem Domöne-User der Adminrechte auf dem Rechner hat, auf dem die Dienste gestartet und gestoppt werden sollen? |
AW: Dienste Remote Starten u. Beenden, Rechte?
Das hat eher mit den Rechten desjenigen zu tun, welcher die Dienste remote steuren möchte
|
AW: Dienste Remote Starten u. Beenden, Rechte?
Das Programm soll auf einem anderen Server laufen als geplante Task. Diese könnte ich mit "irgendeinem" User anlegen und starten lassen. Muss ich dafür einen Domän-Admin-User nehmen (der auch auf den Servern mit den Diensten Admin ist), damit das Programm dort die Dienste starten usw. kann?
|
AW: Dienste Remote Starten u. Beenden, Rechte?
Hallo,
muss es unbedingt per Programm sein oder reicht auch eine Batchdatei? Wenn eine Batchdatei ausreicht, schau Dir bitte mal das Kommandozeilenprogramm sc an. Mit sc /? bekommst Du eine ausführliche Hilfe. Bei den Rechten wirst Du die aus Deiner 2. Alternative benötigen. Der Benutzter, mit dem Du Dein Programm oder die Batchdatei startest muss auf dem Zielrechner, auf dem der Dienst läuft, das Recht zum Starten oder Stoppen des Dienstes haben. Ggfls. einen entsprechenden Nutzer einrichten, der genau dieses Recht zugewiesen bekommt, damit Du keinen "globalgalaktischen" Administratortask einrichten musst, der alles darf. Task mit Adminrechten in der gesamten Domäne richte ich nur ungern ein, da man sie ggfls. durch Manipulation einer Batchdatei missbrauchen kann. Meine Devise lautet da: Sowenig Rechte wie möglich. |
AW: Dienste Remote Starten u. Beenden, Rechte?
Zitat:
Eine neuere Methode ist Windows Management Instrumentation (WMI), das bei entsprechender Konfiguration und Zugriffsrechten über das Netzwerk verwendet werden kann. WMI arbeitet mit SQL-ähnlichen Befehlen wie
Code:
Speziell für Delphi gibt es einen kostenlosen WMI - Quelltextgenerator. Wenn der Code einmal erstellt ist, kann man ihn per Copy-Paste ins das eigene Modul übernehmen (benötigt den Generator also nicht zur Laufzeit). Der generierte Code ist kompatibel mit Delphi 7, 2005, BDS/Turbo 2006 und RAD Studio 2007, 2009, 2010, XE, XE2.
SELECT * FROM Win32_Service
Zu jedem Service würde man dann ein Objekt haben, und kann im Fall eines Win32 Service dann dessen StartService Methode aufrufen. MSDN Seite zu Win32_Service.StartService: ![]() Die Homepage ist hier: ![]() Und auf Google Code das Projekt: ![]() |
AW: Dienste Remote Starten u. Beenden, Rechte?
@nahpets:
Es muss ein Programm sein. Vllt. kurz zum Hintergrund. Es laufen einige Web-Server auf denen ein bestimmter Portal-Dienst läuft. Der muss gelegentlich ab- und wieder angeschaltet werden können. Dafür soll es ein "Verwaltungsprogramm" geben. Da die Webserver vom internen Netz aus hinter einer Firewall liegen ist ein Progamm, dass auf jedem Mitarbeiter-Rechner im Netz laufen kann schlecht, da dann für diesen Rechner ein Durchgang durch die Firewall freigeschaltet werden müsste. Also soll auf den Arbeitsplatzrechnern nur ein Client-Programm entstehen. Auf einem Server soll ein Server-Programm sein, über das die Clients arbeiten können. Nur für das Server-Programm bzw. den Server gibt es nun einen Weg durch die Firewall zu den Webservern um dort die Dineste ein-/auszuschalten. @mjustin: Muss ich mich mal einlesen, klingt interessant. |
AW: Dienste Remote Starten u. Beenden, Rechte?
Zitat:
![]() Dann kannst du Scriptgesteuert die SC.exe - Befehle zum Stoppen oder Starten der anderen Dienste absetzen. Programmieraufwand im Prinzip gleich Null; du musst nur den Port 22 in der Firewall öffnen und dir Gedanken darüber machen, ob jemand auf den Clients die Secure Shell missbrauchen könnte. |
AW: Dienste Remote Starten u. Beenden, Rechte?
Hallo,
wenn Du ein explizites Programm benötigst, so spricht nichts dagegen aus diesem heraus SC als Konsolenprogramm aufzurufen. Über die JVCL ( ![]() Dies hätte den Vorteil, dass nicht einmal Dein Serverprogramm das Recht zum Starten und Stoppen von Diensten haben muss, sondern Du (per Konfiguration?) nur dem Aufruf von SC die benötigten Anmeldedaten/Rechte zuweist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:13 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