Slanje pošte iz PowerShell-a

Već sam govorio o tome kako putem telneta možete slati poštu iz naredbenog retka. Sada je bio zadatak napisati skriptu za sustav praćenja, koja bi u slučaju događaja poslala e-poruku odgovornoj osobi.

Budući da je u posljednje vrijeme sve češće potrebno koristiti skripte na PowerShellu, odlučio sam implementirati skriptu za slanje e-pošte na njemu. Ova mala PowerShell skripta šalje e-poštu određenom primatelju navedenom u njegovom kodu. Ova se skripta koristi u samostalno napisanom sustavu praćenja za određenu ne-Microsoftovu uslugu koja se izvodi na Windows Server 2008. Ako se usluga zaustavi, tehnička obavijest šalje se tehničkoj podršci. Moj PowerShell kod je sljedeći:

$ EmailFrom = "[email protected]"
$ EmailTo = "[email protected]"
$ Subject = "Provjerite uslugu na vašem Windows Server 2008 SADA"
$ Body = "Usluga nadzora je zaustavljena !!"
$ SmtpServer = "smtp.winitpro.ru"
$ smtp = Novi objekt-net.mail.smtpclient ($ SmtpServer)
$ smtp.Send ($ EmailFrom, $ EmailTo, $ Subject, $ Body)

Postoji nekoliko ograničenja upotrebe skripti PowerShell-a. Iz sigurnosnih razloga PowerShell skriptu nije moguće pokrenuti jednostavnim dvoklikom miša na .PS1 datoteku. Stoga, ako želite pokrenuti PowerShell skriptu iz rasporeda zadataka ili na neki drugi automatizirani način, možete stvoriti VBS skriptu koja će zauzvrat nazvati PowerShell skriptu:

Postavi objShell = CreateObject ("WScript.Shell")
objShell.Run ("powershell.exe c: \ script \ send_email.ps1>")

Kao rezultat, trebali biste dobiti dvije datoteke: jedna sadrži vbs kôd (ekstenziju .VBS), a druga sadrži PowerShell kôd za slanje pošte (ekstenzija .PS1).

Ako koristite Windows Server 2008, ne zaboravite omogućiti funkciju podrške PowerShell, jer PS skripte neće raditi.
Pronašao sam C ++ kôd koristan za skrivanje prozora prozora: Kako sakriti prozor druge osobe.