Die Automatisierung von Telnet mit PowerShell
Wie kann ich ein PowerShell-Skript schreiben, das zu automatisieren Befehle?
- Telnet, um eine Maschine,
- führen einige Befehle,
- Analyse auf die Ausgabe im telnet-Fenster
- auf Grundlage der Ausgabe, senden paar mehr Befehle
- was ist der server? unix? osx? windows+telnetd? powershell v1 oder v2? können Sie Zeug auf der remote-Seite? die client-Seite?
- Was ist das script geschrieben ?
- der Titel sagt alles: powershell.
- powershell v2. Ich Schreibe das powershell-Skript auf einem windows-Rechner. Remote-Seite, linux, windows. Ich kann nicht installieren Sie neue Sachen auf der remote-site
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, das ist nicht die eleganteste Lösung, und es tut sich verlassen schaudern VBscript, aber hier geht es...
Erstellen Sie eine VBScript-tatsächlich beschleunigen die telnet-Sitzung dies ist ein Beispiel
Dann mit der Powershell aufrufen, das Skript auf und übergeben Ihr die Befehle, die Sie ausführen möchten, im Beispiel unten diese Befehle werden gespeichert in einer Datei namens CommandList.txt
Und das sollte tun, was Sie Fragen...
Hinweis: Nicht meine Lösung, gefunden von in diesem blog-post und ich haben es einmal oder zweimal.
Ich würde nicht alles tun, mit buchsen hier, weil Sie gehen zu müssen, zu implementieren, zumindest Teile der telnet-spec. Wenn ich mich daran erinnere, dass die Skillung ist ein bisschen komisch. Aber es gibt einige .NET-telnet-Implementierungen sind hier gelistet: C# Telnet-Bibliothek, dass man wahrscheinlich anpassen oder verwenden, direkt aus der powershell in der gleichen Weise, dass Goyuix ist mit der socket-code in seine Antwort.
Anstatt zu versuchen, zu automatisieren, telnet ausführbaren Datei, erstellen Sie einfach den sockel und die Erteilung der Befehle, Lesen Sie zurück, und Entscheidungen auf der Grundlage, dass. Hier ist eine grob vereinfachte Beispiel die Verbindung zu meinem lokalen web-server:
Natürlich würden Sie brauchen, um es zu ändern von port 80, und geben Sie eine Benutzernamen/Kennwort anstelle von einem web-request-headers... aber dies sollte genug sein, zum du zu erhalten begannen.
Ich schlage vor, Sie verwenden TeraTerm dieser kostenlosen software.
Sie können die telnet-Verbindung zu Ihrem Rechner, und führen Sie dann einen TTL-Skript.
es ist sehr leistungsfähig und zuverlässig. Ich benutze es jeden Tag für meine Arbeit.
Sie können mehr tun, suchen, wenn Sie interessiert sind.
Beispiel für TTL-Skript:
Erstellt habe ich ein powershell-script per telnet mehreren Läden aus einzelnen host, und hat Optionen, um zu erfassen oder nicht erfassen die tracert-und ping-Befehl
Befehl telnet mehrere host-und capture-tracert-und ping-Befehl
Bitte beachten Sie: TelnetMultipleHost.bat dieser batch wird verwendet, um führen Sie den folgenden powershell-Befehl
Stellen Sie sicher, wir haben bat, ps1-Datei im gleichen Verzeichnis
Code für die batch Datei:
@echo off
Powershell.exe -executionpolicy remotesigned -Datei .\TelnetMultipleHost.ps1
pause