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

Zusammenfassung der Javascript-Datumstools

lass Utils = { /** * Ist es das Todesjahr? * @ret...

Mehr als 100 Zeilen Code zur Implementierung von React Drag Hooks

Vorwort Der Quellcode umfasst insgesamt nur mehr ...

So implementieren Sie einen binären Suchbaum mit JavaScript

Eine der am häufigsten verwendeten und diskutiert...

So finden Sie Websites mit SQL-Injection (unbedingt lesen)

Methode 1: Verwenden Sie die erweiterte Suche von...

HTML-Tag Marquee realisiert verschiedene Scroll-Effekte (ohne JS-Steuerung)

Der automatische Bildlaufeffekt der Seite kann du...

Allgemeine Befehle zum Bereitstellen von InfluxDB und Mongo mit Docker

Bereitstellen einer Datenbank basierend auf Docke...

Centos7.5 installiert die Bereitstellung des binären Pakets mysql5.7.24

1. Umweltvorbereitung: Betriebssystem: CentOS Lin...

So installieren und speichern Sie die PostgreSQL-Datenbank in Docker

Überspringen Sie die Docker-Installationsschritte...

Sollten nullbare Felder in MySQL auf NULL oder NOT NULL gesetzt werden?

Personen, die MySQL häufig verwenden, können mit ...