[英]How to connect to a remote Windows machine to execute commands using python?
[英]how to execute commands on remote machine using pysphere
讓我想在遠程機器上執行某些命令的VMware VM,例如shutdown / r或dir / o:d等。 使用模塊pysphere模塊與VM通信。
我嘗試了start_process,但它只是為cmd.exe創建進程,我的代碼用於創建進程是VM_object.start_process('cmd.exe',args = [“shutdown / r”])
當您運行命令cmd.exe時,您需要添加/ c:
cmd.exe /c shutdown /r
正如解釋在這里 ,你需要告訴CMD.EXE來運行你作為一個字符串傳遞的參數。 您的命令只是運行cmd.exe而沒有實際發出您作為參數傳遞的命令。 / c標志指示cmd.exe執行傳遞的參數。
虛擬機中的VM_object.start_process('cmd.exe',args = [“shutdown / r”])此命令將被解釋為
cmd.exe "shutdown /r"
因為start_process使用subprocess.list2cmdline()方法來解析“args”參數。 list2cmdline()為包含空格的任何列表元素添加引號。
那么,接下來,關於cmd參數。 采用
cmd /?
了解您應該在代碼中使用什么。 在我的任務中有2個有趣的參數:
/ k有用,例如,當您的python代碼有興趣詢問由popen執行的批處理文件的最后%errorlevel%時。
所以,我認為,您的代碼應如下所示:
VM_object.start_process('cmd.exe', args=["/c","shutdown", "/r"])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.