paramikoを使用して記述されたPythonスクリプトがあり、pysphere.thisスクリプトはlinnux box.iにWindowsマシンにいくつかのPowerShellスクリプトがあり、それを次々に実行する必要があります(各スクリプトが明らかに終了した後) windows machine.Kindlyヘルプ。 PS;私は、Windows上でLinuxおよびPowerShellスクリプトからPythonスクリプトを実行する必要があります。 以下に、PowerShellスクリプトを実行するためのコードスニペットを示します。
target_vm1 = connect_Esxi_Server(return_list[0])
print "Again connected to vm:" + return_list[0]
target_vm1.login_in_guest(vmUser,vmPass)
list_scripts = target_vm1.list_files(VM_SCRIPT_LOCATION)
for f in list_scripts:
size = f["size"]
**if size <> 0:**
paths = f["path"]
print paths
#for all_scripts in paths:
*****print "script running is :" , paths*****
path_l = os.path.join(VM_SCRIPT_LOCATION + "\"+ paths)
*****print path_l*****
run_script =
subprocess.Popen([r"c:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe",". path_l"], shell=True)
result = run_script.wait()
print "result is:", result
サブプロセスが機能するかどうか疑問です。
上記の太字は、実行するための正しいスクリプトを提供していることに注意してください。
任意の助けをいただければ幸いです、これは私の頭を食い尽くしています........</ strong>
乾杯、 ニュージャージー州
回答:
回答№1は2paramikoを使用してpowershellコマンドを直接実行します。
import paramiko
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect("10.10.0.2", username="vipul", password="password")
cmd = "powershell -InputFormat none -OutputFormat text echo Hello"
stdin, stdout, stderr = self.ssh.exec_command(cmd)
print stdout.readlines()
ここで10.10.0.2は私のWindowsマシンです。 sshにcygwin sshdサーバーを使用します。