[英]How to remotely restart a service on a password protected machine using Python?
我決定將Python作為一種新的學習語言。 我要做的第一件事是編寫一個腳本,該腳本將允許我從本地計算機遠程重新啟動其他計算機上的服務。 當遠程計算機要求用戶名和密碼登錄時,我該怎么做? 我不需要提供完整的解決方案,但是可能需要一些指向我應該使用的庫的指針,或者在編寫腳本時需要解決的任何問題。
編輯:所有遠程計算機都使用Windows 2003
人們通常建議將paramiko作為執行ssh的庫(我假設您需要ssh才能進入遠程計算機)。 有一個很好的教程 。
編輯 :在Windows上,最簡單的方法可能是使用SysInternals psservice實用程序,並通過os.system進行調用; 這樣可以啟動遠程服務,並接受登錄憑據。
如果要直接在Python中執行此操作,則需要win32service.StartService 。 在此之前,需要先打開遠程服務管理器,然后再打開遠程服務。 在此之前,您需要模擬要執行該操作的用戶,請參見示例 。
您的遠程計算機運行哪種操作系統? 如果是linux,請使用subprocess
模塊運行ssh(1)
。
如果是Windows,則獲取win32擴展 。 它們允許您調用Windows函數。 應該有一個API允許訪問服務。 如果沒有,您可以使用子過程模塊運行一個名為sc
( docs )的工具。
目標機器使用哪個操作系統? 如果“服務”是“ Windows NT服務”,而您的本地計算機也是Windows,我將使用IronPython作為Python語言實現,並直接調用.net System.Management命名空間中的WMI工具-這意味着像這樣的遠程管理員。
在Windows上, wmi模塊現在非常適合此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.