Sorteio do Treinamento de PowerShell – Feito em PowerShell Claro !!!!!


Pessoal,

Eu e o Luiz Mercante (do sqldicas – http://sqldicas.com.br) fizemos uma promoção  Sorteio de Treinamento – Powershell , na qual a pessoa teria que mandar um email para contato@aprendapowershell.com.br e estaria concorrendo a uma vaga free no próximo treinamento de PowerShell 3.0 Fundamentals (mais aqui)

Bom, era requerido colocar a palavra SORTEIO no subject. Porque ?

Vocês realmente acham que eu ia ficar  indo email a email pegando o nome e o email do futuro sortudo e salvar pra fazer o sorteio ?

Se você acha isso, então realmente você tem que fazer meu treinamento. Aqui é tudo automatizado meu amigo 🙂

Vou mostrar para vocês como será :

Eu tenho 3 contas no meu outlook e a que cai para o contato@aprendapowershell.com.br é a com nome laertesqldba@outlook.com (1).

Simplesmente o que eu tenho que fazer é acessar o outlook, mudar para o 3 folder (esta conta), selecionar o inbox, trazer os emails , filtrar pela palavra sorteio e finalmente pegar um sortudo, randomicamente.

Tudo isso com uma linha de Powershell , vamos la :

 

Primeiramente adicionar o assembly do outlook e criar o objeto

 

Add-Type -assembly “Microsoft.Office.Interop.Outlook”

$Outlook = New-Object -comobject Outlook.Application

 

Depois disso, é fazer o resto do processo :

 

$Sortudo = $Outlook.Application.GetNamespace(“mapi”).folders.item(3).folders.item(“inbox”).items |
where {$_.subject -like ‘*Sorteio*’ } |
Select SenderName,SenderEmailAddress |
Get-Random -Count 1

Se eu tirar o Get-Random, deem uma olhadinha como é o retorno

$Sortudo = $Outlook.Application.GetNamespace(“mapi”).folders.item(3).folders.item(“inbox”).items |
where {$_.subject -like ‘*Sorteio*’ } |
Select SenderName,SenderEmailAddress
$Sortudo

image

Vamos contar quantos ja mandaram ?

Add-Type -assembly “Microsoft.Office.Interop.Outlook”
$Outlook = New-Object -comobject Outlook.Application
($Outlook.Application.GetNamespace(“mapi”).folders.item(3).folders.item(“inbox”).items |
where {$_.subject -like ‘*Sorteio*’ }).count

 

image

Até agora 53 🙂

Um exemplo de como funciona com o Get-Random :

Add-Type -assembly “Microsoft.Office.Interop.Outlook”
$Outlook = New-Object -comobject Outlook.Application
$Sortudo = $Outlook.Application.GetNamespace(“mapi”).folders.item(3).folders.item(“inbox”).items |
where {$_.subject -like ‘*Sorteio*’ } |
Select SenderName,SenderEmailAddress |
Get-Random -Count 1
$Sortudo

 

image

Se estivesse valendo , o Robert Fischer da Alog seria o sortudo 🙂

Rodando de novo :

image

O Sortudo seria o André Gomes 🙂

 

Como estou viajando hoje para USA, aonde palestro sabado (sobre PowerShell claro) no SQLStaurday 227 as 11:30 da manhã, e logo depois a semana inteira no PASS SUMMIT 2013, vou esperar até segunda feira a noite para fazer o sorteio. Também ainda estou recebendo emails, então vamos dar uma chance ate segunda.

Ha.. Segunda a noite, eu vou chegar da festa da Redgate, ligar meu micro e rodar este script, com mais um pouco de código. Sim, já vou mandar o email para o sortudo(a) e incluir na minha planilha o nome e o email.

Claro que você já sabe que é tudo automatizado né ?

Codigo Final é este :

#Sorteio
Add-Type -assembly “Microsoft.Office.Interop.Outlook”
$Outlook = New-Object -comobject Outlook.Application
$Sortudo = $Outlook.Application.GetNamespace(“mapi”).folders.item(3).folders.item(“inbox”).items |
where {$_.subject -like ‘*Sorteio*’ } |
Select SenderName,SenderEmailAddress |
Get-Random -Count 1
$Sortudo

#Mando o email
$credential  =  new-object System.Management.Automation.pscredential “laertesqldba@outlook.com”,(Get-Content C:\Repository\email.txt | ConvertTo-SecureString)
$MailConfig =  @{
    To=$Sortudo.SenderEmailAddress
    From=”laertesqldba@outlook.com”
    Subject=”Você ganhou o Treinamento de PowerShell”
    SmtpServer=”smtp.live.com”
    UseSsl=$true
    Port=587
    Credential=$Credential
    Body = “Olá $($Sortudo.SenderName), você foi o sorteado na promoção SQLDICAS..blablabla”
}
Send-MailMessage @MailConfig

#Adiciono na minha planilha

$Sortudo | Export-XLS “c:\treinamentopowershell\turmasabado\26102013\Alunos.xlsx” -WorkSheet “Alunos” –append

Até mais pessoal 🙂

PS – Continua perguntando porque precisa aprender PowerShell ?

About Laerte Junior

Laerte Junior Laerte Junior is a SQL Server specialist and an active member of WW SQL Server and the Windows PowerShell community. He also is a huge Star Wars fan (yes, he has the Darth Vader´s Helmet with the voice changer). He has a passion for DC comics and living the simple life. "May The Force be with all of us"
This entry was posted in Algo que Esqueci de Categorizar. Bookmark the permalink.

1 Response to Sorteio do Treinamento de PowerShell – Feito em PowerShell Claro !!!!!

  1. Sensacional, essa eu já sabia, já fiz o treinamento 😛

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s