none
Script para descobrir maquinas na rede RRS feed

  • Pergunta

  • Falera ae gaera blz, alguem sabe um script que eu possa rodar e descobrir todas as máquinas que tem na minha rede? Preciso fazer este levantamento o quanto antes.
    segunda-feira, 19 de setembro de 2011 15:28

Respostas

  • Executei o script e deu erro também, de caracter.

    Como postei no meu blog, pode ter alterado algum caracter.

    Vou postar o link para download.

    Mas segue ultima tentativa:

     

    Const adVarChar = 200
    Const MaxCharacters = 255
    Const ForReading = 1
    Const ForWriting = 2
    Const ADS_SCOPE_SUBTREE = 2
    Const FOR_WRITING = 2
     
    '************************ Create Server List ****************************
     
    set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists("Serverlist.txt") Then
        objFSO.DeleteFile("Serverlist.txt")
    End IF
    Set objFile = objFSO.CreateTextFile("Serverlist.txt", FOR_WRITING)
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
     
    Set objCOmmand.ActiveConnection = objConnection
    Set RootDse = GetObject( "LDAP://RootDse" )
    strADSPath = "LDAP://" & RootDse.get( "DefaultNamingContext" )
    objCommand.CommandText = _
            "Select Name, Location from '" & strADSPath &_
            "' Where objectClass='computer'"
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
     
    Do Until objRecordSet.EOF
        objFile.WriteLine objRecordSet.Fields("Name").Value
        objRecordSet.MoveNext
    Loop
     
     
     
    '***********************  Sort Server List  ******************************
     
    Set DataList = CreateObject("ADOR.Recordset")
    DataList.Fields.Append "ComputerName", adVarChar, MaxCharacters
    DataList.Open
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("serverlist.txt", ForReading)
     
    Do Until objFile.AtEndOfStream
        strLine = objFile.ReadLine
        DataList.AddNew
        DataList("ComputerName") = strLine
        DataList.Update
    Loop
     
    objFile.Close
     
    DataList.Sort = "ComputerName"
     
    DataList.MoveFirst
    Do Until DataList.EOF
        strText = strText & DataList.Fields.Item("ComputerName") & vbCrLf
        DataList.MoveNext
    Loop
     
    Set objFile = objFSO.OpenTextFile("serverlist.txt", ForWriting)
     
    objFile.WriteLine strText
    objFile.Close


    Gustavo Valle | http://grvalle.com
    terça-feira, 20 de setembro de 2011 11:22
    Moderador
  • Ricardo, boa tarde!

    Abra o DOS e digite: net view > computadores.txt

    Veja se ajuda.

    Abraço.


    ..::.. Carlos Henrique | MCSA WINDOWS SERVER 2003 ..::..
    segunda-feira, 19 de setembro de 2011 18:10
  • Agora foi show de bola, só alegria. Valeu amigo.
    • Marcado como Resposta Felipe Calebe terça-feira, 20 de setembro de 2011 11:44
    • Não Marcado como Resposta Carlos Henrique Lucas terça-feira, 20 de setembro de 2011 12:06
    • Marcado como Resposta Felipe Calebe terça-feira, 20 de setembro de 2011 17:30
    terça-feira, 20 de setembro de 2011 11:44

Todas as Respostas

  • Tem um script que você roda e ele joga todas máquinas (account computers) para um TXT. Serve?

     

    Segue:

     

    Const adVarChar = 200
    Const MaxCharacters = 255
    Const ForReading = 1
    Const ForWriting = 2
    Const ADS_SCOPE_SUBTREE = 2
    Const FOR_WRITING = 2

    ‘************************ Create Server List ****************************

    set objFSO = CreateObject(“Scripting.FileSystemObject”)
    If objFSO.FileExists(“Serverlist.txt”) Then
    objFSO.DeleteFile(“Serverlist.txt”)
    End IF
    Set objFile = objFSO.CreateTextFile(“Serverlist.txt”, FOR_WRITING)
    Set objConnection = CreateObject(“ADODB.Connection”)
    Set objCommand =   CreateObject(“ADODB.Command”)
    objConnection.Provider = “ADsDSOObject”
    objConnection.Open “Active Directory Provider”

    Set objCOmmand.ActiveConnection = objConnection
    Set RootDse = GetObject( “LDAP://RootDse” )
    strADSPath = “LDAP://” & RootDse.get( “DefaultNamingContext” )
    objCommand.CommandText = _
    “Select Name, Location from ‘” & strADSPath &_
    “‘ Where objectClass=’computer’”
    objCommand.Properties(“Page Size”) = 1000
    objCommand.Properties(“Searchscope”) = ADS_SCOPE_SUBTREE
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst

    Do Until objRecordSet.EOF
    objFile.WriteLine objRecordSet.Fields(“Name”).Value
    objRecordSet.MoveNext
    Loop

    ‘***********************  Sort Server List  ******************************

    Set DataList = CreateObject(“ADOR.Recordset”)
    DataList.Fields.Append “ComputerName”, adVarChar, MaxCharacters
    DataList.Open

    Set objFSO = CreateObject(“Scripting.FileSystemObject”)
    Set objFile = objFSO.OpenTextFile(“serverlist.txt”, ForReading)

    Do Until objFile.AtEndOfStream
    strLine = objFile.ReadLine
    DataList.AddNew
    DataList(“ComputerName”) = strLine
    DataList.Update
    Loop

    objFile.Close

    DataList.Sort = “ComputerName”

    DataList.MoveFirst
    Do Until DataList.EOF
    strText = strText & DataList.Fields.Item(“ComputerName”) & vbCrLf
    DataList.MoveNext
    Loop

    Set objFile = objFSO.OpenTextFile(“serverlist.txt”, ForWriting)

    objFile.WriteLine strText
    objFile.Close


    Gustavo Valle | http://grvalle.com
    segunda-feira, 19 de setembro de 2011 15:36
    Moderador
  • Serve sim, mais é só salvar em .vbs e executar?? Pois fiz isso e está dando erro.
    • Editado Felipe Calebe segunda-feira, 19 de setembro de 2011 16:31
    segunda-feira, 19 de setembro de 2011 16:26
  • Sim..

    Salvar e executar.

    Está executando onde? na sua máquina?


    Gustavo Valle | http://grvalle.com
    segunda-feira, 19 de setembro de 2011 17:48
    Moderador
  • Ricardo, boa tarde!

    Abra o DOS e digite: net view > computadores.txt

    Veja se ajuda.

    Abraço.


    ..::.. Carlos Henrique | MCSA WINDOWS SERVER 2003 ..::..
    segunda-feira, 19 de setembro de 2011 18:10
  • Executei o script e deu erro também, de caracter.

    Como postei no meu blog, pode ter alterado algum caracter.

    Vou postar o link para download.

    Mas segue ultima tentativa:

     

    Const adVarChar = 200
    Const MaxCharacters = 255
    Const ForReading = 1
    Const ForWriting = 2
    Const ADS_SCOPE_SUBTREE = 2
    Const FOR_WRITING = 2
     
    '************************ Create Server List ****************************
     
    set objFSO = CreateObject("Scripting.FileSystemObject")
    If objFSO.FileExists("Serverlist.txt") Then
        objFSO.DeleteFile("Serverlist.txt")
    End IF
    Set objFile = objFSO.CreateTextFile("Serverlist.txt", FOR_WRITING)
    Set objConnection = CreateObject("ADODB.Connection")
    Set objCommand =   CreateObject("ADODB.Command")
    objConnection.Provider = "ADsDSOObject"
    objConnection.Open "Active Directory Provider"
     
    Set objCOmmand.ActiveConnection = objConnection
    Set RootDse = GetObject( "LDAP://RootDse" )
    strADSPath = "LDAP://" & RootDse.get( "DefaultNamingContext" )
    objCommand.CommandText = _
            "Select Name, Location from '" & strADSPath &_
            "' Where objectClass='computer'"
    objCommand.Properties("Page Size") = 1000
    objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE 
    Set objRecordSet = objCommand.Execute
    objRecordSet.MoveFirst
     
    Do Until objRecordSet.EOF
        objFile.WriteLine objRecordSet.Fields("Name").Value
        objRecordSet.MoveNext
    Loop
     
     
     
    '***********************  Sort Server List  ******************************
     
    Set DataList = CreateObject("ADOR.Recordset")
    DataList.Fields.Append "ComputerName", adVarChar, MaxCharacters
    DataList.Open
     
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFSO.OpenTextFile("serverlist.txt", ForReading)
     
    Do Until objFile.AtEndOfStream
        strLine = objFile.ReadLine
        DataList.AddNew
        DataList("ComputerName") = strLine
        DataList.Update
    Loop
     
    objFile.Close
     
    DataList.Sort = "ComputerName"
     
    DataList.MoveFirst
    Do Until DataList.EOF
        strText = strText & DataList.Fields.Item("ComputerName") & vbCrLf
        DataList.MoveNext
    Loop
     
    Set objFile = objFSO.OpenTextFile("serverlist.txt", ForWriting)
     
    objFile.WriteLine strText
    objFile.Close


    Gustavo Valle | http://grvalle.com
    terça-feira, 20 de setembro de 2011 11:22
    Moderador
  • OBS: Agora deu certo.

    Faça o teste.

    Ele criará um arquivo chamado Serverlist.txt no mesmo local onde o script tiver salvo.

     

    Execute o poste o resultado ;)


    Gustavo Valle | http://grvalle.com
    terça-feira, 20 de setembro de 2011 11:24
    Moderador
  • Agora foi show de bola, só alegria. Valeu amigo.
    • Marcado como Resposta Felipe Calebe terça-feira, 20 de setembro de 2011 11:44
    • Não Marcado como Resposta Carlos Henrique Lucas terça-feira, 20 de setembro de 2011 12:06
    • Marcado como Resposta Felipe Calebe terça-feira, 20 de setembro de 2011 17:30
    terça-feira, 20 de setembro de 2011 11:44
  • Que bom que atendeu sua necessidade.

    Marque como resposta o post que contém a solução p/ seu problema, assim outros membros da comunidade encontrarão mais fácil a verdadeira solução.

     

    Abraço!


    Gustavo Valle | http://grvalle.com
    terça-feira, 20 de setembro de 2011 11:54
    Moderador