Usuário com melhor resposta
Script para enviar e-mail ao efetuar logon..

Pergunta
-
Amigos, preciso da ajuda de vocês.
Cenário:
Preciso que quando um usuário efetue logon em um micro, que seja enviado um e-mail para o administrador da rede.
A minha idéia é criar um script que fique na tarefa agendada do micro onde o usuário efetuará logon (marcando a opção de executar o script ao efetuar logon) para ser executado assim que o usuário efetue logon.
Hoje temos um servidor muito crítico na empresa e precisamos ser notificado por e-mail sempre que alguém efetue logon no mesmo.
Alguma idéia?
Abraços e Obrigado.
Respostas
-
Segue script para envio de email. Lembro que para Windows 2003 é preciso instalar o powershell:
Function Send-Mail { Param($strAssunto) $strDe = "remetente@dominio.com.br" $strPara = "destinatario@dominio.com.br" $strPwd = "senha" $strConteudo = "Alerta de email" $SMTPServer = "smtp.dominio.com.br" $SMTPMessage = New-Object System.Net.Mail.MailMessage($strDe,$strPara,$strAssunto,$strConteudo) $SMTPMessage.IsBodyHtml = $true $SMTPClient = New-Object Net.Mail.SmtpClient($SMTPServer, 587) $SMTPClient.EnableSsl = $false $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($strDe, $strPwd); $SMTPClient.Send($SMTPMessage) Remove-Variable -Name SMTPClient Remove-Variable -Name strPwd } $strUsuario = [Environment]::UserName $strDominio = [Environment]::UserDomainName $strHost = [Environment]::MachineName $Assunto = "O usuário " + $strUsuario + "@" + $strDominio + " logou no servidor" + $strHost Send-Mail $Assunto
Att, Nino http://www.TInoBar.com.br
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:23
-
Alexsandre,
Utilize o blat (http://sourceforge.net/projects/blat/). Eu utilizei muito para enviar logs do ntbackup por e-mail.
Funciona muito bem.
Obrigado.
Paul Haro - Microsoft Certified Professional
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:23
-
Boa tarde,
Complementando as dicas dos amigos, você pode utilizar também um software da Varonis, mas é pago. Ele efetua toda auditoria e faz integração com o AD, se conseguir investir fica a dica. Segue link abaixo:
http://www.varonis.com/products/datadvantage/windows/index2.html
.
Vinicius Mozart
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:24
-
Nino, Vinicius, Paulo e Marcos.
agradeço muito a ajuda de vocês.
Gostaria de compartilhar a minha solução.
Criei o seguinte script vbs:
#######################################################################################################
dim strSMTPFrom, strSMTPTo, strSMTPRelay, strTextBody, strSubject, strInfoPC, strDataHoraConsulta
strDataHoraConsulta = Date() & "-" & Time()
strinfoPC = getComputerInfo("computer")&";"&getComputerInfo("user") & ";" & strDataHoraConsulta
strSMTPFrom = "email@email.com"
strSMTPTo = "email@email.com"
strSMTPRelay = "endereço do servidor smtp"
strTextBody = strinfoPC
strSubject = "acessoremoto: " & getComputerInfo("computer")
Set oNetwork = CreateObject("WScript.Network")
sUserName = oNetwork.UserName
sComputerName = oNetwork.ComputerName
Set WshNetwork = WScript.CreateObject("WScript.Network")
StrComputer = WshNetwork.ComputerName
Set oMessage = CreateObject("CDO.Message")
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPRelay
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMessage.Configuration.Fields.Update
oMessage.Subject = strSubject
oMessage.From = strSMTPFrom
oMessage.To = strSMTPTo
oMessage.TextBody = strTextBody
'oMessage.AddAttachment strAttachment
oMessage.Send
Function getComputerInfo(info)
Dim network
Set network = CreateObject("WScript.Network")
Select Case LCase(info)
Case "computer"
getComputerInfo = network.ComputerName
Case "user"
getComputerInfo = network.UserName
Case "domain"
getComputerInfo = network.UserDomain
End Select
End Function
#######################################################################################################
Coloquei esse script na gpo local dos 5 servidores específicos que quero monitorar e quando o usuário efetuar logon, automaticamente será enviado um e-mail com o nome do servidor, login do usuário, data e hora do acesso. Abraços!http://alexpxm.wordpress.com/
- Marcado como Resposta Alexsandre Peixoto Moreira quarta-feira, 5 de junho de 2013 16:43
Todas as Respostas
-
Olá Alexsandre
Se a versão do sistema operacional do seu servidor for Windows Server 2008, você deve usar a opção "Attach a Task To this Log..." para o evento de logon 4624.
Entre em contato se precisar de ajuda.
Marcos Eduardo de Oliveira
Diretor de Tecnologia
CLOUDWAREnetbr
MCP | MCT | MCSA | MCITP | MCTS AD | MCTS Network
MCTS Virtualization | Small Business Specialist
Lead Auditor ISO 27001 | ITIL Foundation | Green IT Citizen
www.cloudware.net.br
www.facebook.com/cloudware.netbr
twitter.com/cloudwarenetbr
br.linkedin.com/in/meduoliveira
skype: meduoliveira- Sugerido como Resposta Elton Baptista segunda-feira, 22 de setembro de 2014 21:11
-
Marcos,
obrigado pela orientação que realmente funciona, porém esqueci de citar que a versão do windows é 2003.
Se fosse 2008 ou 2012, eu teria a solução conforme mostrado no meu Blog.
http://alexpxm.files.wordpress.com/2012/11/monitoramento_alterac3a7c3b5es_active_directory2.pdf
Eu preciso é saber como faria no windows 2003.
Alguém consegue me ajudar?
Abraços e Obrigado. -
Alexsandre,
Utilize o blat (http://sourceforge.net/projects/blat/). Eu utilizei muito para enviar logs do ntbackup por e-mail.
Funciona muito bem.
Obrigado.
Paul Haro - Microsoft Certified Professional
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:23
-
Outra opção seria criar um script Powershell para o envio do email no evento de login conforme sua idéia inicial.
Att, Nino http://www.TInoBar.com.br
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:23
- Não Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:23
-
-
Segue script para envio de email. Lembro que para Windows 2003 é preciso instalar o powershell:
Function Send-Mail { Param($strAssunto) $strDe = "remetente@dominio.com.br" $strPara = "destinatario@dominio.com.br" $strPwd = "senha" $strConteudo = "Alerta de email" $SMTPServer = "smtp.dominio.com.br" $SMTPMessage = New-Object System.Net.Mail.MailMessage($strDe,$strPara,$strAssunto,$strConteudo) $SMTPMessage.IsBodyHtml = $true $SMTPClient = New-Object Net.Mail.SmtpClient($SMTPServer, 587) $SMTPClient.EnableSsl = $false $SMTPClient.Credentials = New-Object System.Net.NetworkCredential($strDe, $strPwd); $SMTPClient.Send($SMTPMessage) Remove-Variable -Name SMTPClient Remove-Variable -Name strPwd } $strUsuario = [Environment]::UserName $strDominio = [Environment]::UserDomainName $strHost = [Environment]::MachineName $Assunto = "O usuário " + $strUsuario + "@" + $strDominio + " logou no servidor" + $strHost Send-Mail $Assunto
Att, Nino http://www.TInoBar.com.br
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:23
-
Boa tarde,
Complementando as dicas dos amigos, você pode utilizar também um software da Varonis, mas é pago. Ele efetua toda auditoria e faz integração com o AD, se conseguir investir fica a dica. Segue link abaixo:
http://www.varonis.com/products/datadvantage/windows/index2.html
.
Vinicius Mozart
- Marcado como Resposta Paul HaroModerator quarta-feira, 5 de junho de 2013 11:24
-
Nino, Vinicius, Paulo e Marcos.
agradeço muito a ajuda de vocês.
Gostaria de compartilhar a minha solução.
Criei o seguinte script vbs:
#######################################################################################################
dim strSMTPFrom, strSMTPTo, strSMTPRelay, strTextBody, strSubject, strInfoPC, strDataHoraConsulta
strDataHoraConsulta = Date() & "-" & Time()
strinfoPC = getComputerInfo("computer")&";"&getComputerInfo("user") & ";" & strDataHoraConsulta
strSMTPFrom = "email@email.com"
strSMTPTo = "email@email.com"
strSMTPRelay = "endereço do servidor smtp"
strTextBody = strinfoPC
strSubject = "acessoremoto: " & getComputerInfo("computer")
Set oNetwork = CreateObject("WScript.Network")
sUserName = oNetwork.UserName
sComputerName = oNetwork.ComputerName
Set WshNetwork = WScript.CreateObject("WScript.Network")
StrComputer = WshNetwork.ComputerName
Set oMessage = CreateObject("CDO.Message")
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strSMTPRelay
oMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
oMessage.Configuration.Fields.Update
oMessage.Subject = strSubject
oMessage.From = strSMTPFrom
oMessage.To = strSMTPTo
oMessage.TextBody = strTextBody
'oMessage.AddAttachment strAttachment
oMessage.Send
Function getComputerInfo(info)
Dim network
Set network = CreateObject("WScript.Network")
Select Case LCase(info)
Case "computer"
getComputerInfo = network.ComputerName
Case "user"
getComputerInfo = network.UserName
Case "domain"
getComputerInfo = network.UserDomain
End Select
End Function
#######################################################################################################
Coloquei esse script na gpo local dos 5 servidores específicos que quero monitorar e quando o usuário efetuar logon, automaticamente será enviado um e-mail com o nome do servidor, login do usuário, data e hora do acesso. Abraços!http://alexpxm.wordpress.com/
- Marcado como Resposta Alexsandre Peixoto Moreira quarta-feira, 5 de junho de 2013 16:43