none
Identificar IP e usuário logados no momento. RRS feed

  • Pergunta

  • Bom dia pessoal, tenho um script, que funcionava quando eu usava em uma máquina com windows 7, tinha uns problemas as vezes mas identificava a maioria dos usuários associados a determinado ip (faz a varredura na rede retornando usuário e ip). Agora estou em uma máquina com Windows XP e quando tento rodar o script me retorna o seguinte erro:

    Este é o script:

    Const ADS_SCOPE_SUBTREE = 8
    Const ForAppending = 8
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objTextFile = objFSO.OpenTextFile ("result.txt", ForAppending, True)
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
     
    Set objCOmmand.ActiveConnection = objConnection
    objCommand.CommandText = _
         "Select Name, Location from 'LDAP://DC=xxx,DC=com' " _
             & "Where objectClass='computer'" 
    
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
    Wscript.Echo "Iniciando a Coleta"
    on error resume next
    Do Until objRecordSet.EOF
    	strComputer = objRecordSet.Fields("Name").Value
    	
    	Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    	
    	if err.number=0 then
    		Set colComputer = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
    	 
    		For Each objComputer in colComputer
    			objTextFile.WriteLine "Logged-on user: " & objComputer.UserName
    			objTextFile.WriteLine "Computer Name: " & objRecordSet.Fields("Name").Value
    		Next   
    	else
    		objTextFile.WriteLine "Logged-on user: " & "Desconhecido"
    		objTextFile.WriteLine "Computer Name: " & objRecordSet.Fields("Name").Value
    		err.clear
    	end if
    	
        objRecordSet.MoveNext
     Loop
     
     Wscript.Echo "Coleta Concluída , verifique o arquivo result.txt"
     objTextFile.Close

    Alguém pode me ajudar?

    Abraços!

    sexta-feira, 27 de setembro de 2013 13:52

Respostas

  • Testei apenas a parte antes da entrada no Loop (linha 17 é antes disso) e funcionou sem problemas.

    Verifique se você informou corretamente o caminho distinto do seu dominio e se não existe algum problema de relação de confiança entre sua estação e seu dominio.

    Problema pode estar aqui:

    objCommand.CommandText = _
         "Select Name, Location from 'LDAP://DC=xxx,DC=com' " _
             & "Where objectClass='computer'" 


    Fábio de Paula Junior

    sexta-feira, 27 de setembro de 2013 20:51
    Moderador

Todas as Respostas

  • Testei apenas a parte antes da entrada no Loop (linha 17 é antes disso) e funcionou sem problemas.

    Verifique se você informou corretamente o caminho distinto do seu dominio e se não existe algum problema de relação de confiança entre sua estação e seu dominio.

    Problema pode estar aqui:

    objCommand.CommandText = _
         "Select Name, Location from 'LDAP://DC=xxx,DC=com' " _
             & "Where objectClass='computer'" 


    Fábio de Paula Junior

    sexta-feira, 27 de setembro de 2013 20:51
    Moderador
  • Resolvido?


    Fábio de Paula Junior

    sexta-feira, 4 de outubro de 2013 18:28
    Moderador