3 úžasné věci, které můžete dělat se skriptováním systému Windows

  • Mark Lucas
  • 0
  • 4670
  • 1105
reklama

Ať už pracujete v oblasti IT, jako webový designér, nebo pokud jste jen student nebo běžný administrativní pracovník, Windows Scripting vám má co nabídnout. Samozřejmě Applescript Jak používat UI skriptování UI v Apple Macu Jak používat UI skriptování UI v Apple na Macu taky, ale moje zaměření je v tomto případě na Windows. Když odkazuji na skriptování systému Windows, mám na mysli textové soubory plné kódu, které jsou uloženy jako soubory .wsf, které systém Windows dokáže kompilovat a spustit za běhu.

Téměř před rokem jsem napsal úvod do Windows Scripting Lepší než Batch: Windows Scripting Host Tutorial Lepší než Batch: Windows Scripting Host Tutorial, který ukázal, jak silnější skript .wsf může být než starší styl dávkové úlohy, které IT profesionálové skriptují a běží roky. WSF vám dává sílu strukturovaného jazyka, jako je Visual Basic. Ve výchozím nastavení můžete v systému Windows vytvořit soubor VBScript nebo JScript WSF a ​​bude fungovat dobře.

Kromě tohoto úvodního článku jsem dnes chtěl nabídnout tři typické nástroje, které lidé často používají v profesionálním prostředí IT i doma. Tyto tři nástroje zahrnují čtení vstupu z textového souboru, pingování různých zařízení ve vaší síti a odesílání e-mailů skriptem.

Síla skriptování systému Windows

Učení každé z těchto menších součástí vám umožní spojit je do většího, automatizovaného skriptu. Budu procházet malými ukázkami skriptů, které můžete dát dohromady do velmi cool automatizovaného skriptu. Tento skript provede odebrání seznamu IP vstupů z textového souboru, ping každému z těchto zařízení a odeslání varovného e-mailu, pokud je některé z těchto zařízení deaktivováno.

Čtení vstupních souborů

Prvním krokem v tomto procesu je naučit se číst a zpracovávat informace ze vstupního textového souboru. V tomto případě jsem vytvořil textový soubor s názvem IPlist.ini který se nachází ve stejném adresáři jako skript. Tento soubor obsahuje seznam všech IP adres, které chci zkontrolovat. Na každém řádku textového souboru si můžete přečíst následující skript.

  Možnost Explicit On Error Resume Next
Dim strHost Dim strCommand Dim ReturnCode Dim strLine Dim oFSO, sFile, oFile, sText
Set Shell = wscript.createObject ("wscript.shell") Set oFSO = CreateObject ("Scripting.FileSystemObject") sFile = "c: \ users \ owner \ scripts \ IPlist.ini" If oFSO.FileExists (sFile) Pak Set oFile = oFSO.OpenTextFile (sFile, 1) I když ne oFile.AtEndOfStream sText = oFile.ReadLine If Trim (sText) - Pak strCommand = sText wscript.echo "IP adresa je:" & sText končí, pokud se opakuje oFile.Close.
Jinak WScript.Echo "Soubor tam nebyl." End If WScript.Quit  

Tento kód slouží k otevření souboru pomocí objektu systému souborů Windows a poté přečte jeden řádek textu najednou, dokud nedosáhne konce souboru..

Pingování hostitele

Nyní, když víte, jak číst každou adresu IP z textového souboru, jak postupujete při provádění příkazu Ping pomocí skriptování systému Windows?

Ping je o něco složitější než čtení v textovém souboru, protože musíte použít skriptování Windows Management Instrumentation (WMI). Jak to vypadá.

  Možnost Explicit On Error Resume Next
Dim colPingResults, objPingResult, strQuery Dim strIPtext strIPtext = "192.168.1.105"
'WMI dotaz strQuery = "SELECT * FROM Win32_PingStatus KDE Adresa ='" & strIPtext & "'"
Set colPingResults = GetObject ("winmgmts: //./root/cimv2") .ExecQuery (strQuery)
'Přeložit výsledky dotazu
Pro každý objPingResult v colPingResults Pokud není IsObject (objPingResult), pak Ping = False wscript.echo strIPtext & "není pingable" ElseIf objPingResult.StatusCode = 0 Pak je ping = True wscript.echo strIPtext & "je pingable" Else Ping = False. echo strIPtext & "není pingable" End If Next Set colPingResults = Nic WScript.Quit  

Vidíš, jak snadné to bylo? Když to spustím, poskytuje vyskakovací okno pro to, zda byla IP pingable nebo ne.

V tomto skriptu jsem pingoval pouze jednu IP adresu, ale vše, co musíte udělat, je vložit ping do předchozího skriptu po načtení každé IP adresy z textového souboru a můžete ping každou IP adresu ve svém seznamu.

Odeslání e-mailu

Nakonec, i když je hezké mít skript, který můžete spustit, který zkontroluje IP adresy a pop-up okno, pokud se vyskytnou nějaké chyby, nebylo by hezké spustit skript denně, nebo vícekrát denně a mít jej automaticky e-mail s problémy?

Chcete-li to provést, musíte vědět, jak poslat e-mail ve skriptu. Pokud zkoumáte online, objevíte desítky (nebo více) způsobů, jak to lidé dosáhnou. Zdaleka nejoblíbenější je přístup CDO.

  Možnost Explicit On Error Resume Next
Const fromEmail = "[email protected]" Const password = "xxxxxxxx"
Dim emailObj, emailConfig Set emailObj = CreateObject ("CDO.Message") emailObj.From = [email protected] emailObj.To = "[email protected]" emailObj.Subject = "Test email" emailObj.TextBody = "Funguje to !! “
Set 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 / configuration / smtpauthenticate ") = 1 emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration/smtpusessl ") = true emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration / sendusername ") = fromEmail emailConfig.Fields (" http://schemas.microsoft.com/cdo/configuration/sendpassword ") = heslo emailConfig.Fields.Update emailObj.Send Set emailobj = nic Set emailConfig = nic WScript.Quit
 

Výše uvedený skript vám umožní odeslat jakýkoli text pro tělo zprávy jako e-mail na jakoukoli adresu pomocí vašich přihlašovacích údajů pro Gmail. Parametry můžete upravit tak, aby používaly jakýkoli jiný poštovní server SMTP, který se vám líbí.

Teď stačí jen dát tyto tři kusy kódu dohromady. Když tak učiníte, skript přečte v každém seznamu IP adres, ping na každou z nich a poté odešle tento řetězec jako tělo zprávy na e-mail s oznámením. Zde bude vypadat tento e-mail.

Jak si dokážete představit, stane se to docela užitečné ve světě IT, kde máte nekonečný seznam zařízení a serverů, na které byste měli dát pozor, a to pouze 24 hodin denně. Kdykoli můžete mít automatické skripty, které vám mohou věci zkontrolovat, udělejte to.

Vyzkoušejte tyto skripty Windows a zjistěte, zda vám to pomůže optimalizovat práci a zefektivnit práci. Znáte nějaké další skvělé věci, které můžete dělat se skriptováním systému Windows? Sdílejte své myšlenky v sekci komentářů níže.

Obrazový kredit: Mario Alberto Magallanes Trejo




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.