Reklama
Pisanie zadań wsadowych (.nietoperz Jak utworzyć plik wsadowy (BAT) w pięciu prostych krokachW tym artykule opisano, jak utworzyć plik wsadowy przy użyciu pięciu prostych kroków dla systemu operacyjnego Windows. Czytaj więcej ) i ostatnio Skrypty Windows 3 niesamowite rzeczy, które możesz zrobić dzięki skryptom WindowsNiezależnie od tego, czy pracujesz w branży IT, jako projektant stron internetowych, czy jesteś studentem lub zwykłym pracownikiem biurowym, Windows Scripting ma coś do zaoferowania. Oczywiście Applescript również ... Czytaj więcej (.wsf) to działanie, które naprawdę stanowi większość tego, jak znaczna większość sieci i systemu administratorzy wykonują swoje zadania szybciej i upraszczają to, co w innym przypadku byłoby czasochłonne i złożone zadania Za pomocą zadań wsadowych można zautomatyzować instalowanie i odinstalowywanie aplikacji, inwentaryzację ustawień oprogramowania i systemu operacyjnego wszystkich komputerów w sieci oraz wiele innych zapytań i zadań. Istnieją jednak pewne zadania, które czasami przechodzą przez wiele warstw uwierzytelnienia, takie jak telnet.
Wielu administratorów sieci musi łączyć się za pomocą telnet z przełącznikami sieciowymi w celu odpytywania lub konfigurowania portów, monitorowania kondycji systemów, a nawet ponownego uruchamiania urządzeń sieciowych, które akceptują polecenia przez telnet. Czy nie byłoby wspaniale, gdybyś mógł zautomatyzować zadania telnet tak, jak skrypty zwykłych zadań wsadowych?
Prawda jest taka, że jeśli jesteś przyzwyczajony do używania skryptów VB do tworzenia skryptów systemu Windows (a nawet jeśli nie jesteś), skrypty VB zapewniają bardzo przydatna funkcja, w której można ustawić skrypt powłoki systemu Windows jako obiekt, a następnie wydawać dokładnie temu obiektowi polecenia. Zasadniczo wygląda to tak, jakbyś siedział w oknie poleceń i wpisywał polecenia. Jedyną różnicą jest to, że skrypt systemu Windows wysyła do ciebie polecenia.
Zautomatyzuj swoje zadanie Telnet
Zasadniczo to zadanie składa się z dwóch części. Musisz ustalić sekwencję poleceń, które chcesz wykonać podczas typowej sesji telnet.
Oto co chcę zrobić. Mam 5 urządzeń w całej sieci, które można zdalnie zrestartować przez telnet, wydając 4 proste polecenia. Najpierw muszę do niego telnet użyć adresu IP i określonego portu. Następnie pojawia się menu i najpierw muszę nacisnąć Enter.
Po naciśnięciu klawisza Enter podczas tej sesji Telnet następne menu oczekuje odpowiedzi numerycznej, a następnie Enter.
Brzmi trochę niemożliwie dla pracy skryptowej, prawda? Nigdy nie lekceważ potęgi Visual Basic.
Teraz są na to inne metody. Wystarczy przeczytać artykuł Abhigyana na temat Tst10.exe, aby zobaczyć, jak niektórzy ludzie lubią używać metody skryptowej Tst do automatyzacji sesji telnet. Niestety zobaczysz również, że może być nieco skomplikowane dla kogoś, kto nie jest przyzwyczajony do pisania wielu skryptów. Tcl to także kolejny podobny programista języka skryptowego, który od lat wykorzystywany jest do tego samego zadania.
Pokażę jednak, jak plik skryptu VB wykona te same zadania w ułamku czasu i przy użyciu skryptu, który jest znacznie łatwiejszy do zrozumienia.
Oto co zamierzamy zrobić. Podzielę skrypt na sekcje. Umieść je wszystkie w pliku tekstowym o nazwie coś takiego Autotelnet.wsf, kliknij dwukrotnie, a uruchomi się.
Po pierwsze - ustanowić sesję telnet:
Opcja jawna
W przypadku wznowienia błędu Dalej
Dim WshShell
ustaw WshShell = CreateObject ("WScript. Shell ")
WshShell.run" cmd.exe "
WScript. Sleep 1000
'W razie potrzeby wysyłaj polecenia do okna - adres IP i polecenia należy dostosować
„Krok 1 - Telnet do zdalnego adresu IP”
WshShell. SendKeys „telnet xx.xx.xx.73 9999”
WshShell. SendKeys („{Enter}”)
WScript. Sleep 1000
Powyższa sekcja kodu automatycznie otworzy okno poleceń, a następnie telnet do urządzenia na dowolnym porcie, który chcesz podłączyć. Zamień „x” na własny adres IP.
Polecenie uśpienia będzie czekać wystarczająco długo, aż urządzenie odpowie i poprosi skrypt o następne polecenie. Upewnij się, że ten czas oczekiwania jest wystarczająco długi, aby to działanie miało miejsce.
Po drugie, musisz wysłać każde polecenie, po jednym na raz, zapewniając wystarczająco dużo czasu oczekiwania między nimi, aby sesja telnet mogła odpowiedzieć.
'Krok 2 - Wydaj polecenia za pomocą pauzuje
WshShell. SendKeys („{Enter}”)
WScript. Sleep 1000
WshShell. SendKeys „5”
WshShell. SendKeys („{Enter}”)
WScript. Sleep 1000
W tym przykładzie wydałem dwa polecenia, które zanotowałem powyżej. Najpierw mam skrypt wysyłający polecenie „Enter”, poczekaj sekundę, a następnie wyślij „5” i ponownie naciśnij „Enter”. Ta krótka seria czynności wykona się dokładnie tak, jakbyś siedział przed oknem poleceń telnet, wykonując je samodzielnie. Musisz tylko dostosować ten skrypt, aby dokładnie odpowiadał na sesję telnet wymaga.
Na koniec nie zapomnij zamknąć okna poleceń i zakończyć skryptu.
'Krok 3 - Wyjdź z polecenia Okno
WshShell. SendKeys „exit”
WshShell. SendKeys („{Enter}”)
WScript. Wyjdź
To wszystko, aby zautomatyzować telnet - trzy proste kroki w bardzo nieskomplikowanym skrypcie. Po prostu weź trzy powyższe sekcje i dostosuj je do swoich pragnień. Zautomatyzujesz wszystkie zadania pomocy technicznej, aby zarządzać przełącznikami sieci, zegarami czasu lub innymi zdalnymi systemami komunikującymi się przez telnet.
Jeśli masz powtarzające się zadania, które musisz często wykonywać, uprość swoje życie, tworząc automatyczne skrypty systemu Windows, które wykonają te zadania za Ciebie. Będziesz bardziej produktywny, a twój szef będzie naprawdę pod wrażeniem!
Czy masz jakieś inne pomysły na fajne zadania, które możesz zautomatyzować za pomocą tego rodzaju skryptu systemu Windows? Jak automatyzujesz swoje własne zadania telnet? Podziel się swoimi przemyśleniami i spostrzeżeniami w sekcji komentarzy poniżej.
Źródło zdjęcia: Shutterstock
Ryan ma tytuł licencjata z inżynierii elektrycznej. Pracował 13 lat w inżynierii automatyki, 5 lat w IT, a teraz jest inżynierem aplikacji. Były redaktor naczelny MakeUseOf, przemawiał na krajowych konferencjach dotyczących wizualizacji danych i był prezentowany w krajowej telewizji i radiu.