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

jQuery Canvas zeichnet Bildüberprüfungscodebeispiel

In diesem Artikelbeispiel wird der spezifische Co...

Analyse der MySQL-Transaktionsmerkmale und Ebenenprinzipien

1. Was ist eine Transaktion? Eine Datenbanktransa...

Die Iframe-Aktualisierungsmethode ist bequemer

So aktualisieren Sie Iframe 1. Zum Aktualisieren k...

Häufig verwendete HTML-Meta-Enzyklopädie (empfohlen)

Der Meta-Tag ist ein Hilfstag im Head-Bereich der...

Beschreibung des MySQL-Optimierungsparameters query_cache_limit

query_cache_limit query_cache_limit gibt die Puff...

Studiennotizen zur MySQL Master-Slave-Konfiguration

● Ich hatte vor, einige Cloud-Daten zu kaufen, um...

Eine kurze Diskussion über die VUE Uni-App-Entwicklungsumgebung

Inhaltsverzeichnis 1. Über die visuelle Schnittst...

Tiefgreifendes Verständnis der logischen Architektur von MySQL

MySQL ist heute die Datenbank, die von den meiste...

Detaillierte Erklärung von count(), group by, order by in MySQL

Ich bin vor Kurzem auf ein Problem gestoßen, als ...

JavaScript-HTML zur Implementierung der mobilen Red Envelope Rain-Funktionsseite

In diesem Artikelbeispiel wird der spezifische HT...