Jak automatizovat příkazy Telnet pomocí skriptu VB

  • Gabriel Brooks
  • 0
  • 3934
  • 491
reklama

Zápis dávkových úloh (.bat Jak vytvořit dávkový soubor (BAT) v pěti jednoduchých krocích Jak vytvořit dávkový soubor (BAT) v pěti jednoduchých krocích Tento článek popisuje, jak vytvořit dávkový soubor pomocí pěti jednoduchých kroků pro operační systém Windows. .) a nověji skripty Windows 3 Úžasné věci, které můžete dělat se skriptem Windows 3 Úžasné věci, které můžete dělat se skriptem Windows Ať už pracujete v oblasti IT, jako webdesignér, nebo pokud jste jen student nebo běžný administrativní pracovník, Windows Scripting má co nabídnout. Applescript samozřejmě také dělá,… (.wsf) je činnost, která opravdu tvoří podstatnou část toho, jak velká většina správců sítí a systémů vykonává své úkoly rychleji, a zjednodušuje to, co by jinak bylo časově náročné, složité úkoly. Pomocí dávkových úloh můžete automatizovat instalaci a odinstalaci aplikací, provádět inventarizaci nastavení softwaru a OS všech počítačů ve vaší síti a množství dalších dotazů a úloh. Existují však určité úkoly, které někdy procházejí několika vrstvami ověřování, například telnet.

Mnoho správců sítě se musí připojit k síťovým přepínačům za účelem dotazování nebo nastavení portů, sledování stavu systémů nebo dokonce restartování síťových zařízení, která přijímají příkazy prostřednictvím telnetu. Nebylo by sladké, kdybyste mohli automatizovat telnetové úlohy, jako byste skriptovali pravidelné dávkové úlohy?

Pravda je, že pokud jste zvyklí používat skript VB k vytváření skriptů systému Windows (nebo dokonce, pokud nejste), skripty VB poskytují velmi užitečnou funkci, kde můžete vytvořit skript Windows Shell jako objekt a poté vydat tento “objekt” pečlivě načasované příkazy. V podstatě je to přesně tak, jako když sedíte v příkazovém okně a zadáváte příkazy. Jediný rozdíl je v tom, že skript systému Windows odesílá příkazy za vás.

Automatizujte svou telnetovou úlohu

Tento úkol má v zásadě dvě části. Musíte stanovit posloupnost příkazů, které chcete projít během typické relace telnetu.

Tady je to, co chci dělat. V síti mám 5 zařízení, která lze vzdáleně restartovat pomocí telnetu vydáním 4 jednoduchých příkazů. Nejprve k tomu musím telnet připojit pomocí IP adresy a specifického portu. Dále se objeví nabídka a já musím nejprve stisknout enter.

Po stisknutí klávesy Enter během této relace telnetu očekává další nabídka číselnou odpověď následovanou klávesou Enter.

Zní to trochu nemožně pro skriptovací práci, že? Nikdy nepodceňujte sílu jazyka.

Nyní existují jiné metody, jak toho dosáhnout. Stačí se podívat na článek Abhigyan o Tst10.exe a zjistit, jak někteří lidé rádi automatizují telnetové relace pomocí metody skriptování Tst. Bohužel také uvidíte, že pro někoho, kdo není zvyklý psát mnoho skriptů, to může být poněkud složité. Tcl je také další podobný programovací skriptovací jazyk, který už roky používají pro stejný úkol.

Ukážu vám však, jak soubor skriptu VB provede zlomek času stejné úkoly a použije skript, který je monumentálně snáze pochopitelný.

Takže tady je to, co uděláme. Rozdělím scénář na sekce. Vložte všechny tyto do textového souboru s názvem něco jako Autotelnet.wsf, poklepejte a spustí se.

Nejprve - vytvořte relaci telnet:

Možnost Explicitní
On Error Resume Next
Dim WshShell
set WshShell = CreateObject ("WScript.Shell")
WshShell.run "cmd.exe"
WScript.Sleep 1000
'Příkazy posílejte do okna podle potřeby - IP a příkazy je třeba přizpůsobit
'Krok 1 - Telnet na vzdálenou IP'
WshShell.SendKeys "telnet xx.xx.xx.73 9999"
WshShell.SendKeys ("Enter")
WScript.Sleep 1000

Část výše uvedeného kódu automaticky otevře příkazové okno a poté telnet k zařízení na jakémkoli konkrétním portu, který potřebujete připojit. Nahradit “x's” s vaší vlastní IP.

Příkaz spánku bude čekat dostatečně dlouho, než zařízení odpoví, a vyzve váš skript k dalšímu příkazu. Ujistěte se, že tato čekací doba je dostatečně dlouhá, aby k této akci došlo.

Za druhé, musíte poslat každý příkaz, jeden po druhém, a poskytnout mezi nimi dostatek čekací doby, aby telnet relace mohla reagovat.

'Krok 2 - Vydání příkazů s pauzy'
WshShell.SendKeys ("Enter")
WScript.Sleep 1000
WshShell.SendKeys "5"
WshShell.SendKeys ("Enter")
WScript.Sleep 1000

V tomto příkladu jsem vydal dva příkazy, které jsem si poznamenal výše. Nejprve mám skript poslat “Vstoupit” příkaz, počkejte chvilku a poté odešlete “5” a stiskněte “Vstoupit” znovu. Tato krátká řada akcí bude fungovat přesně tak, jako kdybyste seděli před příkazovým oknem telnetu a dělali je sami. Tento skript budete muset pouze přizpůsobit, abyste mohli provádět přesné odpovědi, které vaše relace telnet vyžaduje.

Nakonec nezapomeňte zavřít příkazové okno a ukončit skript.

'Krok 3 - Ukončete příkazové okno
WshShell.SendKeys "exit"
WshShell.SendKeys ("Enter")
WScript.Quit 

To je vše, co automatizovat telnet - tři jednoduché kroky uvnitř velmi nekomplikovaného skriptu. Prostě si vezměte tři výše uvedené části a přizpůsobte je podle přání svého srdce. Automatizujete všechny své podpůrné úkoly pro správu síťových přepínačů, časových hodin nebo jiných vzdálených systémů, které komunikují prostřednictvím telnetu.

Pokud máte opakující se úkoly, které musíte často dělat, zjednodušte si život tím, že vytvoříte automatické skripty Windows, které tyto úkoly provedou za vás. Budete produktivnější a váš šéf bude opravdu ohromen!

Máte nějaké další nápady na skvělé úkoly, které byste mohli automatizovat pomocí tohoto druhu skriptu Windows? Jak jste automatizovali své vlastní telnetové úkoly? Sdílejte své myšlenky a postřehy v sekci komentářů níže.

Obrázek Kredit: Shutterstock




Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.

O moderní technologii, jednoduché a cenově dostupné.
Váš průvodce ve světě moderních technologií. Naučte se, jak používat technologie a pomůcky, které nás každý den obklopují, a naučte se, jak objevovat na internetu zajímavé věci.