Posielanie pošty z PowerShell

Už som hovoril o tom, ako môžete posielať poštu z príkazového riadku pomocou telnetu. Úlohou bolo napísať skript pre monitorovací systém, ktorý v prípade udalosti pošle e-mailovú správu zodpovednej osobe..

Pretože v poslednej dobe, stále častejšie je potrebné používať skripty na serveri PowerShell, som sa rozhodol implementovať skript na odosielanie pošty. Tento malý skript PowerShell odošle e-mailovú správu konkrétnemu príjemcovi uvedenému v jeho kóde. Tento skript sa používa v samoobslužnom monitorovacom systéme pre konkrétnu službu nepochádzajúcu od spoločnosti Microsoft, ktorá je spustená v systéme Windows Server 2008. Ak sa služba zastaví, odošle sa na technickú podporu technická správa. Môj kód PowerShell je nasledujúci:

$ EmailFrom = “[email protected]
$ EmailTo = “[email protected]
$ Subject = “Overte si službu na vašom Windows Server 2008 TERAZ”
$ Body = „Monitorovacia služba je zastavená !!“
$ SmtpServer = “smtp.winitpro.ru”
$ smtp = Nový objekt net.mail.smtpclient ($ SmtpServer)
$ smtp.Send ($ EmailFrom, $ EmailTo, $ Subject, $ Body)

Používanie skriptov PowerShell má niekoľko obmedzení. Z bezpečnostných dôvodov nie je možné skript PowerShell spustiť jednoduchým dvojitým kliknutím na súbor .PS1. Preto, ak chcete spustiť skript PowerShell z plánovača úloh alebo iným automatizovaným spôsobom, môžete vytvoriť skript VBS, ktorý zase bude nazývať skript PowerShell:

Nastaviť objShell = CreateObject („WScript.Shell“)
objShell.Run (“powershell.exe c: \ script \ send_email.ps1>”)

Výsledkom je, že by ste mali získať dva súbory: jeden obsahuje kód VBS (rozšírenie .VBS), druhý obsahuje kód PowerShell na odosielanie pošty (rozšírenie .PS1).

Ak používate Windows Server 2008, nezabudnite povoliť funkciu podpory PowerShell, inak PS skripty nebudú fungovať.
Našiel som kód C ++, ktorý je užitočný na skrytie okna systému Windows: Ako skryť okno inej osoby.