Quer algo mais comodo do que voce automatizar rotinas nos servidores e receber um aviso, status ou ate mesmo log das operacoes no seu e-mail!? Seu chefe desconfia que as rotinas estao rodando nos servidores? Coloque ele na copia dos e-mails ! (Like a boss) Ok, entao fica registrado aqui uma funcao Powershell para envio de e-mails. function SendMail([string] $smtpServer, [string] $smtpUser, [string] $smtpPassword, [string] $to, [string] $title, [string] $body) { # -> Instancia um cliente SMTP. $smtp = new-object System.Net.Mail.SmtpClient; # -> Host do servidor SMTP. $smtp.Host = $smtpServer; # -> Autenticacao no servidor SMTP. $smtp.Credentials = New-Object System.Net.NetworkCredential($smtpUser, $smtpPassword); # -> Instancia uma mensagem de e-mail. $message = New-Object System.Net.Mail.MailMessage; # -> Formata a mensagem para receber HTML. $message.IsBodyhtml = $true; $message.Body = $body; $message.Subject = $title; # -> Define o endereco de origem como o usuario que autenticou no servidor SMTP. $message.From = New-Object System.Net.Mail.MailAddress $smtpUser; # -> Quebra os enderecos de destino de acordo com as separacoes (";"). $toItems = $to.Split(";"); foreach($toItem in $toItems) { # -> Adiciona os e-mails validos de destino. if($toItem -ne $null -and $toItem.Trim() -ne "") { $toAdress = New-Object System.Net.Mail.MailAddress $toItem; $message.To.Add($toAdress); } } # -> Envia o e-mail. $smtp.Send($message); } Sem mais complicacoes, como ja citei em outras oportunidades, o Powershell dispoe do poder das classes .NET. Entao bata usa-las para essa tarefa Be happy! Dica rapida... A alguns dias dias atras a equipe de desenvolvimento com a qual estava trabalhando decidiu persistir o Viewstate do ASP.NET no HD do servidor. Apos implantar as configuracoes, rotinas e afins, ficou a duvida se as rotinas de exclusao dos viewstates antigos estava funcionando corretamente. Um desenvolvedor deu a ideia de criar um .exe que excluisse os arquivos do dia anterior. Logo pensei: que mania de desenvolvedor de achar que o mundo pode ser resolvido com um .exe. (Falo isso com toda a autoridade de ser um desenvolvedor tambem!) Entao eu intervi, dizendo que apenas persistissem, e eu agendaria uma tarefa no servidor Windows para apagar os viewstates do dia anterior. Mas... #comofaz? Como estou trabalhando bastante com Poweshell ultimamente, pensei que nao seria dificil desenvolver um script assim. Apos pesquisar um pouco descobri o comando "forfiles" do prompt do Windows mesmo. Essa belezinha lista arquivos, podendo aplicar alguns filtros. O filtro para os dias e o parametro "D", onde nesse caso, defini 1, veja: #Maravawonderfull, listei os arquivos, mas e agora, como deleta-los? Ja pensou que agonia, coloca-los em variaveis de script basic/bat!? #Esgurmita! Puxei um help do comando e loco descobri que havia como passar um comando para aplicar a cada item listado. Com mais alguns parametros consegui gerar um .bat e agendar no Windows a rotina para executa-lo diariamente: forfiles /P "C:\Users\Spoky\AppData\Local\Temp" /S /M *.txt /D -1 /C "cmd /c del @file" Onde: P: Diretorio da da listagem. S: Busca recursiva pelos diretorios a dentro. M: Aplica a mascara *.txt. D: Data da modificacao. C: Aplica algum comando para cada resultado da listagem. Entao #FicaDica Bem, como ja relatado em outros posts, e possivel utilizar classes do .NET Framework no Powershell. Com