none
Ajuda para incluir ULTIMO LOGON do usuario. RRS feed

  • Pergunta

  • Senhores, tenho que tirar um relatorio para auditoria da minha empresa e tenho um script que vem fazendo isso pra mim sem problemas. Porem, eles agora querem uma informação nova nesse relatorio e nao estou conseguindo adaptar esse script que tenho. Preciso da informação do ULTIMO LOGON do usuario, MESMO que a conta esteja desabilitada e se possivel, preciso saber QUANDO a conta do usuario foi desabilitada.

    SEgue abaixo o script q tenho:

    '---------------- INICIO ----------------
    
    Sub ListUsers( strDomain )
        Set objComputer = GetObject("WinNT://" & strDomain )
        objComputer.Filter = Array( "User" )
        For Each objUser In objComputer
            suserInfo = objUser.Name & ", " & objUser.Fullname & ", "  & objUser.Description & ", " & objUser.LastLogin & ", " & objUser.AccountDisabled
                    objFile.WriteLine(sUserInfo)
        Next
    End Sub
    
    
    ' ****************************************************************************
    ' Main
    ' ****************************************************************************
    Dim strDomain
    Dim sUserInfo
    Dim sFileName
    
    strDomain = WScript.Arguments(0)
    sFileName = WScript.Arguments(1)
    If strDomain = "" Then
       WScript.Echo "VoCê não Adicionou os parametros necessários, chame o script pelo prompt, ex.: ListUsers.vbs dominio.local C:\listusers.txt"
    End If
    
    If sFileName = "" Then
       WScript.Echo "VoCê não Adicionou os parametros necessários, chame o script pelo prompt, ex.: ListUsers.vbs dominio.local C:\listusers.txt"
    End If
    
    set objFSO = createobject("scripting.filesystemobject")
    set objFile = objFSO.createtextfile(sFileName)
    objFile.WriteLine("Usuario, Nome Completo, Descrição, Status da Conta")
    
    ListUsers( strDomain )
    objFile.Close
    
    '---------------- FIM ----------------

    Aguardo ajuda dos colegas, preciso com MUITA urgencia!


    Albert Alberico dos Santos

    terça-feira, 26 de agosto de 2014 16:08

Respostas

  • Senhores, tenho que tirar um relatorio para auditoria da minha empresa e tenho um script que vem fazendo isso pra mim sem problemas. Porem, eles agora querem uma informação nova nesse relatorio e nao estou conseguindo adaptar esse script que tenho. Preciso da informação do ULTIMO LOGON do usuario, MESMO que a conta esteja desabilitada e se possivel, preciso saber QUANDO a conta do usuario foi desabilitada.

    SEgue abaixo o script q tenho:

    '---------------- INICIO ----------------
    
    Sub ListUsers( strDomain )
        Set objComputer = GetObject("WinNT://" & strDomain )
        objComputer.Filter = Array( "User" )
        For Each objUser In objComputer
            suserInfo = objUser.Name & ", " & objUser.Fullname & ", "  & objUser.Description & ", " & objUser.LastLogin & ", " & objUser.AccountDisabled
                    objFile.WriteLine(sUserInfo)
        Next
    End Sub
    
    
    ' ****************************************************************************
    ' Main
    ' ****************************************************************************
    Dim strDomain
    Dim sUserInfo
    Dim sFileName
    
    strDomain = WScript.Arguments(0)
    sFileName = WScript.Arguments(1)
    If strDomain = "" Then
       WScript.Echo "VoCê não Adicionou os parametros necessários, chame o script pelo prompt, ex.: ListUsers.vbs dominio.local C:\listusers.txt"
    End If
    
    If sFileName = "" Then
       WScript.Echo "VoCê não Adicionou os parametros necessários, chame o script pelo prompt, ex.: ListUsers.vbs dominio.local C:\listusers.txt"
    End If
    
    set objFSO = createobject("scripting.filesystemobject")
    set objFile = objFSO.createtextfile(sFileName)
    objFile.WriteLine("Usuario, Nome Completo, Descrição, Status da Conta")
    
    ListUsers( strDomain )
    objFile.Close
    
    '---------------- FIM ----------------

    Aguardo ajuda dos colegas, preciso com MUITA urgencia!


    Albert Alberico dos Santos

    Consegui encontrar um script que faz trazia o LASTLOGON e inclui as informações que o meu script trazia.

    Segue abaixo o Script:

    Option Explicit 
    On Error Resume Next 
    Dim FileSys, WrLines, DomainName, oDomain, oDomainItem
    DomainName = "dominio.com.br"
    lastdate = "31/12/2000"
    
    Set FileSys = CreateObject("Scripting.FileSystemObject") 
    Set WrLines = FileSys.CreateTextFile("ListADNOVO.txt", True)
    
    WrLines.WriteLine("Login de Rede,Nome Completo,Descricao,Conta Desabilitada?,Ultimo Logon na Rede")
    
    Set oDomain = GetObject("WinNT://" & DomainName) 
    For Each oDomainItem in oDomain 
    If oDomainItem.Class = "User" AND oDomainItem.LastLogin > lastdate Then 
    WrLines.WriteLine(oDomainItem.Name & "," & oDomainItem.FullName & ","  & oDomainItem.Description & "," & oDomainItem.AccountDisabled & "," & oDomainItem.LastLogin) 
    End If 
    Next
    
    WrLines.Close


    Albert Alberico dos Santos

    • Marcado como Resposta Santos Ber terça-feira, 26 de agosto de 2014 21:51
    terça-feira, 26 de agosto de 2014 21:51

Todas as Respostas

  • Ultimo logon você pode usar este script em Powershell que eu desenvolvi

    Último Login (sem utilizar módulos)

    http://gallery.technet.microsoft.com/ltimo-Login-sem-utilizar-549cacd1

    Quanto a saber quando a conta foi desabilitada você vai ter que pesquisar nos logs de eventos, existem algumas postagens desanimadoras aqui no fórum, isto porque você tem que procurar em todos os DCs e talvez o log já tenha sido sobrescrito então você pode ficar sem algumas informações.


    Fábio de Paula Junior

    terça-feira, 26 de agosto de 2014 16:26
    Moderador
  • Já vi esse script, porem, preciso que contenha as mesmas informações que o VBS tras... 

    - "Usuario, Nome Completo, Descrição, Status da Conta" + o ultimo logon e, se possivel, quando a conta foi desabilitada.

    Pode ser em powershell desde q contenha essas informações.


    Albert Alberico dos Santos

    terça-feira, 26 de agosto de 2014 17:22
  • Albert,

    Eu no momento não tenho tempo pra ajudar, pra vc não ficar esperando você poderia gerar a informação do meu script com a informação do seu em uma planilha excel e usar PROCV pra gerar uma única tabela. (vc tem usuário nas duas, use ele como campo chave).


    Fábio de Paula Junior

    terça-feira, 26 de agosto de 2014 17:55
    Moderador
  • Albert,

    Estou envergonhado, fui olhar o script que eu postei na galeria e ele não é o script que eu havia testado.

    Pra compensar eu já incluí dois novos campos:

    • lastlogon server, este informa em qual servidor o usuário fez o último logon
    • Habilitado, informa se o usuário está ou não habilitado.

    Se puder testar agradeço.


    Fábio de Paula Junior

    terça-feira, 26 de agosto de 2014 21:14
    Moderador
  • Fabio, obrigado por sua ajuda, mas tentei executar seu script e deram alguns erros.

    Porem, conseguir adaptar um outro script que arrumei na internet para atender a minha necessidade especifica.

    Agradeço a ajuda.


    Albert Alberico dos Santos

    terça-feira, 26 de agosto de 2014 21:48
  • Senhores, tenho que tirar um relatorio para auditoria da minha empresa e tenho um script que vem fazendo isso pra mim sem problemas. Porem, eles agora querem uma informação nova nesse relatorio e nao estou conseguindo adaptar esse script que tenho. Preciso da informação do ULTIMO LOGON do usuario, MESMO que a conta esteja desabilitada e se possivel, preciso saber QUANDO a conta do usuario foi desabilitada.

    SEgue abaixo o script q tenho:

    '---------------- INICIO ----------------
    
    Sub ListUsers( strDomain )
        Set objComputer = GetObject("WinNT://" & strDomain )
        objComputer.Filter = Array( "User" )
        For Each objUser In objComputer
            suserInfo = objUser.Name & ", " & objUser.Fullname & ", "  & objUser.Description & ", " & objUser.LastLogin & ", " & objUser.AccountDisabled
                    objFile.WriteLine(sUserInfo)
        Next
    End Sub
    
    
    ' ****************************************************************************
    ' Main
    ' ****************************************************************************
    Dim strDomain
    Dim sUserInfo
    Dim sFileName
    
    strDomain = WScript.Arguments(0)
    sFileName = WScript.Arguments(1)
    If strDomain = "" Then
       WScript.Echo "VoCê não Adicionou os parametros necessários, chame o script pelo prompt, ex.: ListUsers.vbs dominio.local C:\listusers.txt"
    End If
    
    If sFileName = "" Then
       WScript.Echo "VoCê não Adicionou os parametros necessários, chame o script pelo prompt, ex.: ListUsers.vbs dominio.local C:\listusers.txt"
    End If
    
    set objFSO = createobject("scripting.filesystemobject")
    set objFile = objFSO.createtextfile(sFileName)
    objFile.WriteLine("Usuario, Nome Completo, Descrição, Status da Conta")
    
    ListUsers( strDomain )
    objFile.Close
    
    '---------------- FIM ----------------

    Aguardo ajuda dos colegas, preciso com MUITA urgencia!


    Albert Alberico dos Santos

    Consegui encontrar um script que faz trazia o LASTLOGON e inclui as informações que o meu script trazia.

    Segue abaixo o Script:

    Option Explicit 
    On Error Resume Next 
    Dim FileSys, WrLines, DomainName, oDomain, oDomainItem
    DomainName = "dominio.com.br"
    lastdate = "31/12/2000"
    
    Set FileSys = CreateObject("Scripting.FileSystemObject") 
    Set WrLines = FileSys.CreateTextFile("ListADNOVO.txt", True)
    
    WrLines.WriteLine("Login de Rede,Nome Completo,Descricao,Conta Desabilitada?,Ultimo Logon na Rede")
    
    Set oDomain = GetObject("WinNT://" & DomainName) 
    For Each oDomainItem in oDomain 
    If oDomainItem.Class = "User" AND oDomainItem.LastLogin > lastdate Then 
    WrLines.WriteLine(oDomainItem.Name & "," & oDomainItem.FullName & ","  & oDomainItem.Description & "," & oDomainItem.AccountDisabled & "," & oDomainItem.LastLogin) 
    End If 
    Next
    
    WrLines.Close


    Albert Alberico dos Santos

    • Marcado como Resposta Santos Ber terça-feira, 26 de agosto de 2014 21:51
    terça-feira, 26 de agosto de 2014 21:51