Linux-Fernsteuerungsprogramm für Windows-System (drei Methoden)

Linux-Fernsteuerungsprogramm für Windows-System (drei Methoden)

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!
Wenn Sie diesen Artikel hilfreich finden, können Sie ihn gerne abdrucken und dabei bitte die Quelle angeben. Vielen Dank!

Das könnte Sie auch interessieren:
  • Detaillierte Methode zum Verpacken eines Python3-Programms unter Windows und Linux
  • So kompilieren Sie Golang auf Mac, Linux und Windows
  • So verpacken Sie Python 3 unter Windows und Linux
  • Installation und Überprüfung von PyTorch in einer Linux- oder Windows-Umgebung (Lösung des Laufzeitfehlerproblems)
  • Analyse der Methode zum Hochladen von ZIP-komprimierten Paketen unter Windows auf ein Linux-System mithilfe der Komprimierung
  • So laden Sie Dateien zwischen einem Linux-Server und einem Windows-System hoch und herunter
  • Detaillierte Erklärung zum Zugriff auf die MySQL-Datenbank in der virtuellen Linux-Maschine unter Windows
  • Remotedesktopverbindung zwischen Windows und Linux

<<:  Erläuterung der MySQL-Transaktionsauswahl für die Aktualisierung und Datenkonsistenzverarbeitung

>>:  Zusammenfassung verschiedener Methoden für Vue zum Erreichen dynamischer Stile

Artikel empfehlen

Docker-Datenverwaltung und Netzwerkkommunikationsnutzung

Sie können Docker installieren und einfache Vorgä...

Detaillierte Erläuterung der MySQL-Transaktionsverarbeitung

1. MySQL-Transaktionskonzept MySQL-Transaktionen ...

Detaillierte Erklärung von Promises in JavaScript

Inhaltsverzeichnis Grundlegende Verwendung von Pr...

Mit CSS3 erstellter Hover-Zoom-Effekt

Ergebnis:Implementierungscode: html <link href...

Implementierung der MySQL-Datensortierung (aufsteigend und absteigend)

Datensortierung aufsteigend, absteigend 1. Sortie...

js, um einen gleitenden Karusselleffekt zu erzielen

In diesem Artikel wird der spezifische Code von j...

Standards zum Schreiben von Codekommentaren bei der Webseitenerstellung

<br />Ich habe die in meiner Arbeit verwende...

Schritte zur Einführung von PWA in ein Vue-Projekt

Inhaltsverzeichnis 1. Abhängigkeiten installieren...

Detaillierte Erklärung zur Verwendung von awk unter Linux

Bevor wir awk lernen, sollten wir sed, grep, tr, ...

jQuery implementiert einen prozentualen Fortschrittsbalken

In diesem Artikel wird der spezifische Code von j...

Automatische Dateisynchronisierung zwischen zwei Linux-Servern

Wenn Server B (172.17.166.11) eingeschaltet oder ...