none
Script para registro de Logon em TS RRS feed

  • Pergunta

  • Pessoal,

    Boa tarde.

     

    Tenho um script que envia um e-mail quando executado.

    até então funciona bem, o problema é que não consigo que ele me indique o usuário que loga no servidor.

    já coloquei %username%, mas ele retorna o usuário que está sendo usado na tarefa agendada no logon.

     

     

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
        & "{impersonationLevel=impersonate, (Security)}!\\" & _
            strComputer & "\root\cimv2")

    Set colMonitoredEvents = objWMIService.ExecNotificationQuery _   
        ("Select * from __instancecreationevent where " _
            & "TargetInstance isa 'Win32_NTLogEvent' " _
                & "and TargetInstance.EventCode = '528' ")

    Do
        Set objLatestEvent = colMonitoredEvents.NextEvent
        
     Set objEmail = CreateObject("CDO.Message")
     objEmail.From = "email@dominio.com.br"
     objEmail.To = email@dominio.com.br
     objEmail.Subject = "Registro de Login em Terminal Service"
     objEmail.Textbody = "Detectado Login no Terminal service"
     objEmail.Send

    Loop

     

     

    Obrigado

    quinta-feira, 13 de março de 2008 18:33

Respostas

  • Olá,

    Utilize as linhas:

    Set oADSystemInfo = CreateObject("ADSystemInfo")
    ' user object
    Set oADsUser = GetObject("LDAP://" & oADSystemInfo.UserName)
    usuario = oADsUser.FullName


    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 18 de junho de 2009 20:56

Todas as Respostas

  • Segue script que funcionou comigo a linha comentada foi a unica que não consegui botar pra funcionar
    _____________________________________________________________________________

    Const cdoSendUsingPickup = 1 'Envia mensagens usando SMTP local (pickup directory).
    Const cdoSendUsingPort = 2 'Envia mensagens usando a rede (SMTP servidor externo).
     
    Const cdoAnonymous = 0 'Sem Autenticação
    Const cdoBasic = 1 'Autenticação basica (Somente texto)
    Const cdoNTLM = 2 'NTLM

      Set objMessage = CreateObject("CDO.Message")
      Set objNetwork = wscript.CreateObject("wscript.network")
      Set ObjShell = wscript.createobject("wscript.shell")
      Set WshNetwork = CreateObject("WScript.Network")
     
      'Corpo do E-mail
      Body = ""
      Body = Body & "-----------------------------------------------------" & vbcrlf
      Body = Body & "Usuario........................: " & (WshNetwork.UserName) & vbcrlf
      Body = Body & "Computador.....................: " & (WshNetwork.ComputerName) & vbcrlf
      'Body = Body & "De onde logou..................: " & (WshNetwork.SessionName) & vbcrlf
      Body = Body & "Quando.........................: " & date & " " & time & vbcrlf
      Body = Body & "Dominio........................: " & (WshNetwork.UserDomain) & vbcrlf
      Body = Body & "-----------------------------------------------------" & vbcrlf
     
     
      Set objNetwork = wscript.CreateObject("wscript.network")
      Set objMessage = CreateObject("CDO.Message")
      'Cabeçalho do E-mail
      objMessage.Subject = Subject & " +++ " & (WshNetwork.UserName) & "@" & (WshNetwork.UserDomain) & " logou em " & (WshNetwork.ComputerName)
      objMessage.From = "fulano@server.com.br"
      objMessage.To = "cicrano@outroserver.com.br"
      objMessage.TextBody = Body
     
      'Seleciona se o tipo de envio é SMTP ou via Exchange (Pick-up)
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      'Servidor SMTP (se for o Caso)
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.com.br"
      'Tipo de autenticação
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
      'Usuario do e-mail
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "admin@server.com.br"
      'Senha do e-mail
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
      'Porta de envio (25 é a padrão)
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
      'Autenticação SSL
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
      'Tempo de espera do envio
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
      objMessage.Configuration.Fields.Update
      objMessage.Send
     

    quinta-feira, 18 de junho de 2009 20:05
  • Olá,

    Utilize as linhas:

    Set oADSystemInfo = CreateObject("ADSystemInfo")
    ' user object
    Set oADsUser = GetObject("LDAP://" & oADSystemInfo.UserName)
    usuario = oADsUser.FullName


    Até mais,

    Jesiel

    Obs.: Se útil, classifique
    quinta-feira, 18 de junho de 2009 20:56
  • Segue Script com a alteração sugerida do Jesiel e com a informação que antes estava comentada funcionando
    ------------------------------------------------------------------------------------------------------
    Const cdoSendUsingPickup = 1 'Envia mensagens usando SMTP local (pickup directory).
    Const cdoSendUsingPort = 2 'Envia mensagens usando a rede (SMTP servidor externo).
     
    Const cdoAnonymous = 0 'Sem Autenticação
    Const cdoBasic = 1 'Autenticação basica (Somente texto)
    Const cdoNTLM = 2 'NTLM

      Set objMessage = CreateObject("CDO.Message")
      Set objNetwork = wscript.CreateObject("wscript.network")
      Set ObjShell = wscript.createobject("wscript.shell")
      Set WshNetwork = CreateObject("WScript.Network")
      Set oADSystemInfo = CreateObject("ADSystemInfo")
      Set oADsUser = GetObject("LDAP://" & oADSystemInfo.UserName)
      usuario = oADsUser.FullName
      Set Sh = CreateObject("WScript.Shell")
      sys = Sh.ExpandEnvironmentStrings("%CLIENTNAME%")
     
      'Corpo do E-mail
      Body = ""
      Body = Body & "-----------------------------------------------------" & vbcrlf
      Body = Body & "Usuario........................: " & oADsUser.FullName & vbcrlf
      Body = Body & "Computador.....................: " & (WshNetwork.ComputerName) & vbcrlf
      Body = Body & "De onde logou..................: " & Sh.ExpandEnvironmentStrings("%CLIENTNAME%") & vbcrlf
      Body = Body & "Quando.........................: " & date & " " & time & vbcrlf
      Body = Body & "Dominio........................: " & (WshNetwork.UserDomain) & vbcrlf
      Body = Body & "-----------------------------------------------------" & vbcrlf
     
     
      Set objNetwork = wscript.CreateObject("wscript.network")
      Set objMessage = CreateObject("CDO.Message")
      'Cabeçalho do E-mail
      objMessage.Subject = Subject & " +++ " & (WshNetwork.UserName) & "@" & (WshNetwork.UserDomain) & " logou em " & (WshNetwork.ComputerName)
      objMessage.From = "fulano@server.com.br"
      objMessage.To = "cicrano@outroserver.com.br"
      objMessage.TextBody = Body
     
      'Seleciona se o tipo de envio é SMTP ou via Exchange (Pick-up)
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
      'Servidor SMTP (se for o Caso)
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.server.com.br"
      'Tipo de autenticação
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
      'Usuario do e-mail
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "admin@server.com.br"
      'Senha do e-mail
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha"
      'Porta de envio (25 é a padrão)
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
      'Autenticação SSL
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = False
      'Tempo de espera do envio
      objMessage.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
      objMessage.Configuration.Fields.Update
      objMessage.Send

    sexta-feira, 19 de junho de 2009 16:01