3 fenomenalne stvari koje možete učiniti sa Windows skriptom

  • William Charles
  • 0
  • 2087
  • 185
Oglas

Bez obzira radite li u IT polju, kao web dizajner ili ste samo student ili redovni uredski radnik, Windows Scripting vam može ponuditi nešto. Naravno Applescript Kako koristiti Applescript-ovo korisničko sučelje na Mac-u Kako se koristi i API-je Applescript-a na Mac-u također radi, ali moj fokus je u ovom slučaju na Windows-u. Kad govorim o Windows Scriptingu, mislim na tekstualne datoteke ispunjene kodom spremljene u obliku .wsf datoteka koje Windows može sastaviti i pokrenuti u pokretu..

Prije gotovo godinu dana napisao sam uvod u Windows Scripting Better than Batch: Vodič za Windows Scripting Host Better than Batch: Vodič za hostove skripti za Windows koji je pokazao koliko moćniji .wsf skripta može biti od starijih paketaskih zadataka stilova koji IT profesionalci godinama su stvarali scenarije i radili. WSF vam daje snagu strukturiranog jezika kao što je Visual Basic. Prema zadanim postavkama, možete stvoriti VBScript ili JScript WSF datoteku na Windows-u i ona će se pokrenuti sasvim u redu.

Iza tog uvodnog članka, danas sam želio ponuditi tri tipična alata koja ljudi često koriste kako u profesionalnom IT okruženju tako i kod kuće. Ta tri alata uključuju čitanje unosa iz tekstualne datoteke, pingiranje različitih uređaja na mreži i slanje e-pošte putem skripte.

Snaga Windows skripta

Ono što će učiniti svaka od ovih manjih komponenti omogućuje vam da ih kombinirate u veću, automatiziranu skriptu. Krenut ću kroz male uzorke skripti koje možete sastaviti u vrlo cool automatiziranu skriptu. Ono što će napraviti ta skripta je da se iz tekstualne datoteke preuzme ulazni IP popis, upiše se svaki od tih uređaja, a zatim pošalje e-poruku s upozorenjem ako je neki od tih uređaja dolje.

Čitanje ulaznih datoteka

Prvi korak u ovom procesu je učenje kako čitati i obrađivati ​​podatke iz ulazne tekstualne datoteke. U ovom slučaju stvorio sam tekstualnu datoteku pod nazivom IPlist.ini koji se nalazi u istom direktoriju kao i skripta. Ova datoteka sadrži popis svih IP adresa koje želim provjeriti. Možete pročitati u svakom retku tekstne datoteke koristeći sljedeću skriptu.

  Opcija izričita na pogrešci Nastavi Sljedeće
Dim strHost Dim strCommand Dim ReturnCode Dim strLine Dim oFSO, sFile, oFile, sText
Postavi Shell = wscript.createObject ("wscript.shell") Postavi oFSO = CreateObject ("Scripting.FileSystemObject") sFile = "c: \ korisnici \ vlasnik \ skripte \ IPlist.ini" Ako oFSO.FileExists (sFile) Zatim postavite oFile = oFSO.OpenTextFile (sFile, 1) Učinite dok nije oFile.AtEndOfStream sText = oFile.ReadLine Ako Trim (sText) - onda strCommand = sText wscript.echo "IP adresa je:" & sText Kraj Ako je petlja oFile.Close
Else WScript.Echo "Datoteka nije bila tamo." Kraj If WScript.Quit  

Ovaj kôd koristi objekt Windows datotečnog sustava za otvaranje datoteke i zatim čita jedan redak teksta dok ne dođe do kraja datoteke.

Pinging domaćina

Sada kada znate kako čitati svaku IP adresu iz tekstualne datoteke, kako ćete započeti s izvršavanjem Ping-a uz Windows Scripting?

Pinging je malo složenije od čitanja u tekstnoj datoteci, jer morate koristiti skripta WMI (Instrument za upravljanje sustavom Windows). Evo kako to izgleda.

  Opcija izričita na pogrešci Nastavi Sljedeće
Dim colPingResults, objPingResult, strQuery Dim strIPtext strIPtext = "192.168.1.105"
'WMI upit strQuery = "SELECT * FROM Win32_PingStatus WHERE Adresa ='" & strIPtext & "'"
Postavi colPingResults = GetObject ("winmgmts: //./root/cimv2") .ExecQuery (strQuery)
'Prevedi rezultate upita
Za svaki objPingResult u colPingResults Ako nije IsObject (objPingResult), tada Ping = lažni wscript.echo strIPtext & "nije pingable" ElseIf objPingResult.StatusCode = 0 Tada je Ping = True wscript.echo strIPtext & "pinging je pinging" echo strIPtext & "se ne može pingirati" Kraj Ako sljedeći put postavite colPingResults = Ništa WScript.Quit  

Vidite kako je to jednostavno bilo? Kad ga pokrenem, pruža skočni prozor o tome je li IP bio pingljiv ili ne.

U ovoj skripti napisao sam samo jednu IP adresu, ali sve što morate učiniti je ugraditi taj ping u prethodnu skriptu nakon čitanja svake IP adrese iz tekstualne datoteke, a možete upisati svaku IP adresu na svoj popis.

Slanje e-pošte

I na kraju, iako je lijepo imati skriptu koju možete pokrenuti koja će provjeriti IP adrese i skočni prozor ako postoje pogreške, zar ne bi bilo lijepo pokrenuti skriptu svakodnevno ili više puta na dan i imati je automatski e-poštom s problemima?

Da biste to učinili, morate znati kako poslati e-poštu unutar skripte. Ako istražujete na mreži, otkrit ćete na desetine (ili više) načina kako ljudi to postižu. Daleko, najpopularnije je korištenje CDO pristupa.

  Opcija izričita na pogrešci Nastavi Sljedeće
Const fromEmail = "[email protected]" Const password = "xxxxxxxx"
Dim EmailObj, emailConfig Postavi emailObj = CreateObject ("CDO.Message") emailObj.From = [email protected] emailObj.To = "[email protected]" emailObj.Subject = "Testiraj e-poštu" emailObj.TextBody = "Djeluje !!”
Postavi emailConfig = emailObj.Configuration emailConfig.Fields ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" emailConfig.Fields ("http://schemas.microsoft.com / cdo / configuration / smtpserverport ") = 465 emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2 emailConfig.Fields (" http://schemas.microsoft.com/cdo " / config / smtpauthenticate ") = 1 emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration/smtpusessl ") = istinski emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration " / sendusername ") = fromEmail emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration/sendpassword ") = lozinka emailConfig.Fields.Update emailObj.Send Set emailobj = ništa Postavi emailConfig = ništa WScript.Quit
 

Gornja skripta omogućuje vam da pošaljete bilo koji tekst za tijelo poruke kao e-poštu na bilo koju adresu pomoću vaših Gmail vjerodajnica. Možete izmijeniti parametre za korištenje bilo kojeg drugog SMTP poslužitelja pošte koji vam se sviđa.

Sve što trebate je sastaviti ta tri dijela koda. Kad to učinite, skripta će pročitati na svakom popisu IP adresa, upisati je po svakoj, a zatim će taj niz poslati kao poruku poruke na e-poštu s obavijestima. Evo kako će izgledati taj email.

Kao što možete zamisliti, ovo postaje prilično korisno u IT svijetu gdje imate beskrajan popis uređaja i poslužitelja na koje možete paziti, i samo 24 sata dnevno. Kad god imate automatizirane skripte koje mogu provjeriti stvari za vas, učinite to.

Isprobajte ove Windows skripte i provjerite hoće li vam pomoći da optimizirate svoj posao i učinite stvari učinkovitijima. Znate li za neke druge cool stvari koje možete učiniti sa sustavom Windows Scripting? Podijelite svoje misli u odjeljku s komentarima u nastavku.

Kreditna slika: Mario Alberto Magallanes Trejo




Još ne komentari

O modernoj tehnologiji, jednostavnoj i pristupačnoj.
Vaš vodič u svijetu moderne tehnologije. Naučite kako koristiti tehnologije i uređaje koji nas okružuju svaki dan i naučite kako otkriti zanimljivosti na Internetu.