Ich habe eine Python-Webanwendung, die auf einem CherryPy-Server ausgeführt wird, der als Windows-Dienst ausgeführt wird. Ich habe eine Batchdatei zum Bereitstellen dieser Anwendung, muss jedoch noch einen Remotedesktop auf dem Server einrichten, um den Dienst neu zu starten. Gibt es eine Möglichkeit, dies zu schreiben?
Ich habe es versucht:
psexec \\server "net restart cherrypyservice"
Aber das scheint nicht zu funktionieren.
windows-server-2003
python
windows-service
pstools
Jason Baker
quelle
quelle
Antworten:
Sie könnten das Befehlszeilentool sc verwenden, aber ich weiß nicht, wie ich es speziell in Python machen soll.
/programming/133883/stop-and-start-a-service-via-batch-or-cmd-file/133926#133926
BESCHREIBUNG: SC ist ein Befehlszeilenprogramm, das für die Kommunikation mit dem NT Service Controller und den Diensten verwendet wird. VERWENDUNG: sc [Befehl] [Dienstname] ...
BEISPIEL: sc starte MyService
quelle
Verwenden von Russinovichs psservice :
quelle
Wenn Sie psexec verwenden möchten:
In diesem Fall wird sc empfohlen. Es macht alles, was Sie brauchen, wenn Sie berappen wollen.
quelle
Versuchen
quelle
mit welcher Remote Execution Engine Sie bevorzugen.
quelle
Interaktive Verwendung von PowerShell (lokal):
Interaktive Verwendung von PowerShell (remote):
In einer Funktion (remote):
quelle
Verwenden der WMI-Methode
(Get-WmiObject win32_service -computer stp7cor1737ltv4 -filter "Name = 'SPtimerv3'"). Invokemethod ("StartService", $ null)
quelle
(gwmi win32_service -computer $ comp -Filter "name = '$ serviceName'"). StopService () (gwmi win32_service -computer $ comp -Filter "name = '$ serviceName'"). StartService ()
Hallo
Gibt es eine Möglichkeit, mit dem obigen Befehl einen Dienst und seine Abhängigkeiten neu zu starten? Wie zwinge ich es dazu? Gibt es einen Befehl zum Erzwingen?
Ich weiß, dass es -f in psservice gibt, aber ich kann es hier nicht herausfinden
quelle
(Wo psservice eine andere SysInternals-App ist)
oder
quelle