Para algumas tarefas de manutenção, é chato estar indo nas máquinas e verificando se as tarefas estão sendo realmente feitas. Imagine por exemplo se você tem alguns servidores diferentes pra ficar monitorando algumas vezes no mês ou na semana. É incômodo ir fazendo Remote Desktop na máquina 1, ver o que tem de ser visto, deslogar, e assim por diante.
Um workaround para isso pode ser o envio de e-mails qnd a tarefa for concluída, com algum feedback se a tarefa foi feita com sucesso ou não.
Com o código abaixo, podemos enviar e-mails a partir de um script PowerShell. Este código é um ajuste com relação ao script postado em [1], adicionando as credenciais, e dando forma de função.
function Send-Mail{ param([string]$to, [string]$subject, [string]$body) $smtp = New-Object System.Net.Mail.SmtpClient("your server here"); $mailMessage = New-Object System.Net.Mail.MailMessage; $credential = New-Object System.Net.NetworkCredential("sender username", "sender password", "sender domain"); $mailMessage.From = "sender mail"; $mailMessage.To.Add($to); $mailMessage.Subject = $subject; $mailMessage.Body = $body; $smtp.Credentials = $credential; $smtp.Send($mailMessage); }
[1] http://www.searchmarked.com/windows/how-to-send-an-email-using-a-windows-powershell-script.php
[2] http://www.brokenhaze.com/article.php?story=20080228214713878
Publicado em Admin, Itautec, Plays, PowerShell, Windows
