Reklame
Skrivning af batchjob (.flagermus Sådan opretter du en batch-fil i fem enkle trinDenne artikel dækker, hvordan man opretter en batchfil ved hjælp af fem enkle trin til Windows-operativsystemet. Læs mere ) og for nylig Windows-scripts 3 Fantastiske ting, du kan gøre med Windows-scriptingUanset om du arbejder inden for it-området, som webdesigner, eller hvis du bare er studerende eller almindelig kontorarbejder, har Windows Scripting noget at tilbyde dig. Naturligvis gør Applescript også, ... Læs mere (.wsf) er en aktivitet, der virkelig udgør hovedparten af, hvordan det store flertal af netværk og system administratorer gør deres job hurtigere og forenkler, hvad der ellers ville være tidskrævende, komplekst opgaver. Ved hjælp af batchjob kan du automatisere installation og afinstallation af applikationer, foretage en opgørelse af software og OS-indstillinger for alle pc'er på dit netværk og en række andre forespørgsler og job. Der er dog visse opgaver, der undertiden gennemgår flere lag med godkendelse, såsom telnet.
Mange netværksadministratorer er nødt til at telnet i netværkskontakter for at spørge eller oprette porte, overvåge systemernes helbred eller endda genstarte netværksenheder, der accepterer kommandoer via telnet. Ville det ikke være sødt, hvis du kunne automatisere telnet-job, ligesom du ville scriptere regelmæssige batchjob?
Sandheden er, at hvis du er vant til at bruge VB-script til at oprette dine Windows-scripts (eller endda hvis du ikke er det), giver VB-scripts et meget nyttig funktion, hvor du kan etablere Windows Shell-scriptet som et objekt og derefter udstede det "objekt" omhyggeligt tidsbestemte kommandoer. I det væsentlige er det nøjagtigt som om du sidder ved et kommandovindue og skriver kommandoer. Den eneste forskel er, at dit Windows-script sender vinduet kommandoer til dig.
Automatiser dit Telnet-job
Der er dybest set to dele til denne opgave. Du skal etablere sekvensen af kommandoer, du vil gennemgå under den typiske telnet-session.
Her er hvad jeg vil gøre. Jeg har 5 enheder i hele netværket, der kan genstartes via telnet ved at udstede 4 enkle kommandoer. Jeg skal først telnet til det ved hjælp af IP-adressen og en bestemt port. Derefter vises en menu, og jeg skal først trykke på enter.
Efter at jeg ramte Enter under denne telnet-session, forventer den næste menu et numerisk svar, efterfulgt af Enter.
Lyder lidt umuligt for et scriptjob, ikke sandt? Nå, undervurder aldrig kraften i Visual Basic.
Nu er der andre metoder til at gøre dette. Bare se Abhigyan's artikel om Tst10.exe for at se, hvordan nogle mennesker kan lide at bruge Tst-scripting-metoden til at automatisere telnet-sessioner. Desværre ser du også, at det kan være lidt kompliceret for nogen, der ikke er vant til at skrive mange manuskripter. Tcl er også et andet lignende scriptingsprog, som programmerere har brugt i årevis til den samme opgave.
Jeg vil dog vise dig, hvordan en VB-scriptfil vil udføre de samme opgaver i en brøkdel af tiden og bruge et script, der er monumentalt lettere at forstå.
Så her er hvad vi skal gøre. Jeg vil opdele scriptet i sektioner. Læg alle disse i en tekstfil, der hedder noget lignende Autotelnet.wsf, dobbeltklik, og det kører.
Først - etabler telnet-sessionen:
Valg eksplicit
Ved fejloptagning næste
Dim WshShell
sæt WshShell = CreateObject ("WScript. Shell ")
WshShell.run" cmd.exe "
WScript. Sleep 1000
'Send kommandoer til vinduet efter behov - IP og kommandoer skal tilpasses
' Trin 1 - Telnet til ekstern IP '
WshShell. SendKeys "telnet xx.xx.xx.73 9999"
WshShell. SendKeys ("{Enter}")
WScript. Sleep 1000
Afsnittet med koden ovenfor åbner automatisk et kommandovindue og derefter telnet til enheden på den specifikke port, du har brug for at oprette forbindelse. Erstat "x'er" med din egen IP.
Dvale-kommandoen venter længe på, at enheden reagerer og beder dit script om den næste kommando. Sørg for, at denne ventetid er lang nok til, at denne handling finder sted.
For det andet skal du sende hver kommando, én ad gangen, giver nok ventetid mellem dem, til at telnet-sessionen kan svare.
'Trin 2 - Problemkommandoer med pauser pre>WshShell. SendKeys ("{Enter}")WScript. Sleep 1000WshShell. SendKeys "5"WshShell. SendKeys ("{Enter}")WScript. Sleep 1000I dette eksempel har jeg udstedt de to kommandoer, som jeg bemærkede ovenfor. Først har jeg scriptet sendt "Enter" -kommandoen, vent et øjeblik, send derefter en "5" og tryk på "Enter" igen. Denne korte række handlinger vil udføre nøjagtigt, som om du sad foran telnet-kommandovinduet og gjorde dem selv. Du skal bare tilpasse dette script for at udføre de nøjagtige svar, som din telnet-session kræver.
Glem endelig ikke at lukke kommandovinduet og afslutte scriptet.
'Trin 3 - Afslut kommando Vindue pre>WshShell. SendKeys "exit"WshShell. SendKeys ("{Enter}")WScript. AfslutDet er alt, hvad der er at automatisere telnet - tre lette trin inde i et meget ukompliceret script. Bare tag de tre sektioner ovenfor, og tilpas dem efter dit hjertes ønske. Du automatiserer alle dine supportopgaver til at administrere netværkskontakter, tidsur eller andre fjernsystemer, der kommunikerer via telnet.
Hvis du har gentagne opgaver, som du ofte skal udføre, skal du gøre dit liv meget enklere ved at oprette automatiserede Windows-scripts, der gør disse opgaver for dig. Du vil være mere produktiv, og din chef vil blive virkelig imponeret!
Har du andre ideer til seje opgaver, du kan automatisere ved hjælp af denne slags Windows-script? Hvordan har du automatiseret dine egne telnetopgaver? Del dine tanker og indsigt i kommentarfeltet nedenfor.
Billedkredit: Shutterstock
Ryan har en BSc-grad i elektroteknik. Han har arbejdet 13 år inden for automatisering, 5 år inden for it, og er nu en applikationsingeniør. En tidligere administrerende redaktør for MakeUseOf, han har talt på nationale konferencer om datavisualisering og har været vist på nationalt tv og radio.