Manchmal müssen wir Programme auf dem Windows-System unter Linux remote ausführen. Methode 1: Über das WinRM-Modul in Python besteht die Voraussetzung darin, den WinRM-Dienst im Voraus einzurichten. Bitte suchen Sie bei Baidu nach Informationen zur Einrichtung. Der winRM-Dienst ist der Remoteverwaltungsdienst von PowerShell unter Windows Server. Das Python-Skript bedient die Windows-Befehlszeile, indem es eine Verbindung zum WinRM-Modul herstellt. WinRM importieren auf def cmd_views(ip,cmd_comand): win = winrm.Session('http://'+ip+':5985/wsman', auth=('user', 'password'))#Parameter sind Benutzername und Passwort r = win.run_cmd(cmd_comand) # cmd-Befehl ausführen = return r.std_out # Druckt die erhaltenen Informationen ip="xxx.xxx.xx.xx" cmd_comand=r"ipconfig"#Befehl ausführen a=cmd_views(ip, cmd_comand) drucken(cmd_comand) drucken(Typ(a)) drucken(a) Nach meinem Test kann dieses Modul nur einige einfache Befehle ausführen, also die Art von Befehlen, die grundsätzlich unmittelbar nach der Eingabe auf Ergebnisse reagieren können. Wenn Sie auf etwas etwas Komplizierteres stoßen, stürzt der Vorgang ab. Methode 2: Der Vorgang wird über die Telnetlib-Bibliothek in Python ausgeführt. Voraussetzung ist, dass die Telnet-Einstellungen im Windows-System festgelegt sind. 1. Installieren Sie den Telnet-Client und -Server. 2 Konfigurieren Sie die Telnet-Benutzerberechtigungen. Wenn Sie nicht wissen, wie das geht, suchen Sie auf Baidu und richten Sie es selbst ein. # -- Kodierung: utf-8 -- importiere telnetlib, Zeit def telnetlib_views(IP-Adresse, Benutzer, Passwort, Befehlsname): tn = telnetlib.Telnet(IP-Adresse) a=tn.read_until(b'login:') tn.write(Benutzer.encode('ascii') + b'\r\n') tn.read_until(b'Passwort:') Zeit.Schlaf(5) tn.write(Passwort.encode('ascii') + b'\r\n') Zeit.Schlaf(2) tn.write(cmdname.encode('ascii') + b'\r\n') tn.schließen() cmdname=r'ifconfig'#Befehl ausführen telnetlib_views(ipaddress="xxx.xxx.xxx.xxx", user="xxx", password="xxxx",cmdname=cmdname) Warten Sie, bis der Befehlsaufruf abgeschlossen und das Programm beendet ist. Methode 3 Bei Verwendung des WMI-Moduls lässt sich der Defekt nur über Windows-Windows beheben, Linux-Windows funktioniert nicht und Linux-bezogene Module lassen sich nicht installieren. WMI importieren def sys_version(IP-Adresse, Benutzer, Passwort, Befehlsname): conn = wmi.WMI(Computer=IP-Adresse, Benutzer=Benutzer, Passwort=Passwort) versuchen: cmd_callbat = r"cmd /c rufe %s auf" % cmdname print("Der aktuell ausgeführte Bat-Befehl ist:",cmd_callbat) conn.Win32_Process.Erstellen(CommandLine=cmd_callbat) außer Ausnahme als e: drucken(e) cmdname= r"xxx.bat"#Befehl ausführensys_version(ipaddress="xxx.xx.xx.xx", Benutzer="xx", Passwort="xxx",cmdname=cmdname)# Der Befehl wird aufgerufen und das Programm wird ohne Wartezeit beendet. Dies unterscheidet sich von Methode 2. Der Fehler besteht darin, dass die Bibliothek unter Linux nicht installiert werden kann. Das Anwendungsszenario ist praktisch. Jetzt muss ich ein Programm unter Linux ausführen, um eine PDF-Datei auf dem Windows-System auf Linux zu übertragen? # -- Kodierung: utf-8 -- WinRM importieren def job(): # Verbindung herstellen t = winrm.Session("xxx.xx.xx.xx", auth=("xx", "xxx")) # Holen Sie sich den Inhalt von a.pdf r = t.run_cmd(r'type C:\xxx\xxx\Desktop\test\a.pdf') # Konvertieren Sie den Inhalt in einen String s0 = str(r.std_out) # drucken(s0) mit open("c.pdf","wb")als f: f.schreiben(s0) print("Schreiben abgeschlossen") Arbeit() Zusammenfassen Oben ist das Programm (drei Methoden) zur Fernsteuerung des Windows-Systems von Linux aus, das ich Ihnen vorgestellt habe. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Erläuterung der MySQL-Transaktionsauswahl für die Aktualisierung und Datenkonsistenzverarbeitung
>>: Zusammenfassung verschiedener Methoden für Vue zum Erreichen dynamischer Stile
In der Welt der Webentwicklung sind Frameworks wei...
1: Tag-Selektor Der Tag-Selektor wird für alle Ta...
Vorwort Der This-Zeiger in JS hat Anfängern schon...
Inhaltsverzeichnis 1. Einfache SELECT-Anweisung 1...
Inhaltsverzeichnis 1. Datenbank-Engpass 2. Unterb...
Inhaltsverzeichnis 1 Probleme bei der Transaktion...
MySQL-Bereitstellung Derzeit stellt das Unternehm...
Bei der Verwendung von IIS als Server wurde die A...
CentOS 8 ist schon seit längerem auf dem Markt. A...
In MySQL häufig verwendete Abfragebefehle: mysql&...
Code kopieren Der Code lautet wie folgt: <!--[...
1. Chinesische Eingabemethode einrichten 2. Stell...
Code kopieren Der Code lautet wie folgt: <fram...
Nginx (Engine x) ist ein leistungsstarker HTTP- u...
ElementUI implementiert ein Tutorial zum Laden vo...