Wie aus der Ferne einen Dienst auf einem passwortgeschützten Computer neu startet mit Python?

StackOverflow https://stackoverflow.com/questions/1332853

  •  19-09-2019
  •  | 
  •  

Frage

habe ich beschlossen, Python als neue Sprache zu bewältigen zu lernen. Das erste, was ich tun möchte, ist der Code ein Skript, das mich aus der Ferne Neustart Dienste auf anderen Maschinen von meinem lokalen Rechner ermöglicht. Wie würde ich erreichen dies, wenn der Remote-Computer anmelden, einen Benutzernamen und ein Kennwort erforderlich? Ich brauche nicht eine vollständige Lösung für mich gegeben werden, aber vielleicht einige Hinweise auf das, was Bibliotheken soll ich verwenden oder irgendwelche Probleme ich ansprechen müssen, wenn das Skript zu schreiben.

EDIT: All Remote-Rechner mit Windows 2003

War es hilfreich?

Lösung

Die Leute empfehlen in der Regel paramiko als Bibliothek ssh zu tun (und ich gehe davon aus, dass Sie muss ssh in den Remote-Rechner zu bekommen). Es gibt eine gute Tutorial es.

Bearbeiten : Unter Windows ist der einfachste Weg, wahrscheinlich zu verwenden SysInternals psservice Dienstprogramm, aufgerufen mit os.system werden; dies kann ein Remote-Dienst starten, und akzeptiert Anmeldeinformationen.

Wenn Sie es direkt in Python tun möchten, müssen Sie win32service.StartService . Zuvor müssen Sie die Remote-Service-Manager öffnen und dann den Remote-Service. Zuvor müssen Sie den Benutzer verkörpern, wie mit der die Operation durchführen möchten, finden Sie in der Beispiel .

Andere Tipps

Hier finden Sie aktuelle Stoff davon auf paramiko . Das ist wirklich ein gutes Werkzeug Remote-Aufgaben mit Python zu automatisieren.

Fabric Dokumentation wird Ihnen zeigen, wie einfach es zu bedienen ist.

Welche Art von O ist Remote-Maschine läuft? Wenn es Linux laufen ssh(1) mit der subprocess Modul .

Wenn es Fenster ist, erhalten dann die win32-Erweiterungen . Sie ermöglichen es, Windows-Funktionen aufzurufen. Es sollte eine API zu dem Zugriff auf Dienste zu ermöglichen. Wenn sie dies nicht tun, gibt es ein Tool namens sc ( docs ), die Sie können mit dem Subprozess-Modul ausgeführt werden.

Welche OS für die Zielmaschinen? Wenn ‚Dienst‘ ist ‚Windows NT-Dienst‘ und dem lokalen Rechner ist auch Windows ich Ironpython als die Programmiersprache Python-Implementierung verwenden würde und direkt in die WMI-Einrichtungen in der .net nennen System.Management Namespace - sie sind gemeint für remote admin so.

Unter Windows ist das wmi Modul ist jetzt fantastisch für diesen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top