/ / Remote-Powershell-Skripts unter Windows laufen nicht durch Python-Skript in Linux - Linux, Python-2.7, Subprozess, Powershell-v2.0, Paramiko

Remote-Powershell-Skripte unter Windows nicht durch Python-Skript in Linux - Linux, Python-2.7, Subprozess, Powershell-v2.0, paramiko

Ich habe ein Python-Skript, das mit paramiko und geschrieben wurdepysphere.this Skript ist in linnux box. Ich habe einige Powershell-Skripte auf Windows-Rechnern, die ich nacheinander ausführen muss (nachdem jedes Skript offensichtlich beendet ist) Windows-Maschine. PS: Ich muss das Python-Skript von Linux und Powershell unter Windows ausführen. Hier ist ein Codeausschnitt zum Ausführen von Powershell-Skripts:

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

Ich bezweifle, ob der Teilprozess funktionieren wird.

Bitte beachten Sie, dass die oben angegebenen fett gedruckten Ausdrucke das richtige Skript zum Ausführen geben. Es gibt viele Powershell-Skripts innerhalb des Vorgängers, so dass Sie durchlaufen und jedes von ihnen ausführen.

Jede Hilfe wäre dankbar, dieses Ding frisst meine Köpfe ab ..... argghhhhhhhh ..</ strong>

Prost, NJ

Antworten:

2 für die Antwort № 1

Ich führe Powershell-Befehle direkt mit paramiko aus:

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()

Hier ist 10.10.0.2 meine Windows-Maschine. Cygwin sshd server für ssh verwenden.