none
Script para pegar a data do ultimo boot e a data da ultima atualização RRS feed

  • Pergunta

  • Bom dia, Alguem ae pode me ajudar ?
    Preciso de um script que mostre em um arquivo texto a data em que foi feita a ultima atualização do windows update e a data em que foi feito o ultimo boot no computador.

    Valew !
    • Editado Paskaw quinta-feira, 19 de novembro de 2009 16:05
    quarta-feira, 18 de novembro de 2009 13:48

Respostas

  • Paskaw, boa tarde.

    Veja se te atende.... Salve como VBS.


    StrComputer = "."
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot

    Wscript.echo FormatDataTime(objBoot.LastBootUpTime)

    Next

    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    • Sugerido como Resposta Jesiel S. Pereira segunda-feira, 23 de novembro de 2009 18:43
    • Marcado como Resposta Jesiel S. Pereira segunda-feira, 23 de novembro de 2009 19:30
    quinta-feira, 19 de novembro de 2009 16:40

Todas as Respostas

  • Da até pra usar a configuração de rede como parametro da data de ultimo boot vendo o tempo em que a conexao de rede está ativa mais acho que deve haver uma forma correta de verificar isso. Alguem ae pode me dar alguma dica de script ?
    quinta-feira, 19 de novembro de 2009 16:03
  • Paskaw, boa tarde.

    Veja se te atende.... Salve como VBS.


    StrComputer = "."
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot

    Wscript.echo FormatDataTime(objBoot.LastBootUpTime)

    Next

    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    • Sugerido como Resposta Jesiel S. Pereira segunda-feira, 23 de novembro de 2009 18:43
    • Marcado como Resposta Jesiel S. Pereira segunda-feira, 23 de novembro de 2009 19:30
    quinta-feira, 19 de novembro de 2009 16:40
  • Paskaw, boa tarde.

    Veja se te atende.... Salve como VBS.


    StrComputer = "."
    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot

    Wscript.echo FormatDataTime(objBoot.LastBootUpTime)

    Next

    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Muito obrigado funcionou, mais acho que ele só ta mostrando a data e hora do ultimo restart.
    Como fasso pra obter a data da instalacao da ultima atualização do windows update no PC ? E como salvo essas informacoes em um arquivo txt ?
    Desde já agradeço.


    segunda-feira, 23 de novembro de 2009 10:45
  • Entendi...
    Veja se te atende...

    O txt está com Data e com o nome do terminal, sendo necessário apenas alterar o campo em negrito afim de direcionar o arquivo.



    StrComputer = "."

    '::::::::::::::::::::::::::::::::::
    'Data do ultimo BOOT
    '::::::::::::::::::::::::::::::::::

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot
    DtUltBoot = FormatDataTime(objBoot.LastBootUpTime)
    Next

    '::::::::::::::::::::::::::::::::::
    'Lista Ultima atualização
    '::::::::::::::::::::::::::::::::::

    Set objSession = CreateObject("Microsoft.Update.Session")
    Set objSearcher = objSession.CreateUpdateSearcher

    Set colHistory = objSearcher.QueryHistory(1, 1)

    For Each objEntry in colHistory
        UltAtu = objEntry.Title
     DtUltAtu = objEntry.Date
    Next
    ':::::::::::::::::::::::::::::::::::::
    'Cria Txt Com dados
    ':::::::::::::::::::::::::::::::::::::

    'LogFileName

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    strCompName = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")

    'Edita darta
    Data = Date()
    DtAt = Split(data,"/",-1)
    DataLog = DtAt(0)&DtAt(1)&DtAt(2)

    'caminho do arquivo txt
    TempFilename = "c:\"&DataLog&"_"&strCompName&".txt"

    'Inicia Gravação
    Set Arquivo = objFSO.CreateTextFile(Tempfilename)

    Arquivo.writeline "Terminal: " & strCompName
    Arquivo.writeline "Data ultima atualização: "&DtUltAtu
    Arquivo.writeline "Pacote instalado: "&UltAtu

    'Fecha arquivo
    Arquivo.close()

     


    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    segunda-feira, 23 de novembro de 2009 14:47
  • Entendi...
    Veja se te atende...

    O txt está com Data e com o nome do terminal, sendo necessário apenas alterar o campo em negrito afim de direcionar o arquivo.



    StrComputer = "."

    '::::::::::::::::::::::::::::::::::
    'Data do ultimo BOOT
    '::::::::::::::::::::::::::::::::::

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot
    DtUltBoot = FormatDataTime(objBoot.LastBootUpTime)
    Next

    '::::::::::::::::::::::::::::::::::
    'Lista Ultima atualização
    '::::::::::::::::::::::::::::::::::

    Set objSession = CreateObject("Microsoft.Update.Session")
    Set objSearcher = objSession.CreateUpdateSearcher

    Set colHistory = objSearcher.QueryHistory(1, 1)

    For Each objEntry in colHistory
        UltAtu = objEntry.Title
     DtUltAtu = objEntry.Date
    Next
    ':::::::::::::::::::::::::::::::::::::
    'Cria Txt Com dados
    ':::::::::::::::::::::::::::::::::::::

    'LogFileName

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    strCompName = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")

    'Edita darta
    Data = Date()
    DtAt = Split(data,"/",-1)
    DataLog = DtAt(0)&DtAt(1)&DtAt(2)

    'caminho do arquivo txt
    TempFilename = "c:\"&DataLog&"_"&strCompName&".txt"

    'Inicia Gravação
    Set Arquivo = objFSO.CreateTextFile(Tempfilename)

    Arquivo.writeline "Terminal: " & strCompName
    Arquivo.writeline "Data ultima atualização: "&DtUltAtu
    Arquivo.writeline "Pacote instalado: "&UltAtu

    'Fecha arquivo
    Arquivo.close()

     


    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Ta perfeito !! Muito obrigado.

    Será que eu consigo fazer isso em lote ?
    Como eu fasso pra por um Array nesse script. Exemplo "ArrComputer = Array("server1","server2","Server3")

    Voce usa algum "compilador" especifico pra testar esses scripts ? Eu to procurando uma ferramenta pra comecar a programar e aprender a fazer esses scripts. Tem alguma pra indicar ?


    segunda-feira, 23 de novembro de 2009 19:05
  • Entendi...
    Veja se te atende...

    O txt está com Data e com o nome do terminal, sendo necessário apenas alterar o campo em negrito afim de direcionar o arquivo.



    StrComputer = "."

    '::::::::::::::::::::::::::::::::::
    'Data do ultimo BOOT
    '::::::::::::::::::::::::::::::::::

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot
    DtUltBoot = FormatDataTime(objBoot.LastBootUpTime)
    Next

    '::::::::::::::::::::::::::::::::::
    'Lista Ultima atualização
    '::::::::::::::::::::::::::::::::::

    Set objSession = CreateObject("Microsoft.Update.Session")
    Set objSearcher = objSession.CreateUpdateSearcher

    Set colHistory = objSearcher.QueryHistory(1, 1)

    For Each objEntry in colHistory
        UltAtu = objEntry.Title
     DtUltAtu = objEntry.Date
    Next
    ':::::::::::::::::::::::::::::::::::::
    'Cria Txt Com dados
    ':::::::::::::::::::::::::::::::::::::

    'LogFileName

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    strCompName = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")

    'Edita darta
    Data = Date()
    DtAt = Split(data,"/",-1)
    DataLog = DtAt(0)&DtAt(1)&DtAt(2)

    'caminho do arquivo txt
    TempFilename = "c:\"&DataLog&"_"&strCompName&".txt"

    'Inicia Gravação
    Set Arquivo = objFSO.CreateTextFile(Tempfilename)

    Arquivo.writeline "Terminal: " & strCompName
    Arquivo.writeline "Data ultima atualização: "&DtUltAtu
    Arquivo.writeline "Pacote instalado: "&UltAtu

    'Fecha arquivo
    Arquivo.close()

     


    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Ta perfeito !! Muito obrigado.

    Será que eu consigo fazer isso em lote ?
    Como eu fasso pra por um Array nesse script. Exemplo "ArrComputer = Array("server1","server2","Server3")

    Voce usa algum "compilador" especifico pra testar esses scripts ? Eu to procurando uma ferramenta pra comecar a programar e aprender a fazer esses scripts. Tem alguma pra indicar ?



    Tenho sim, quanto a documentação segue o link http://www.microsoft.com/downloads/details.aspx?FamilyID=01592c48-207d-4be1-8a76-1c4099d7bbb9&displaylang=en&Hash=0vk7EDVC/jdumG2pVh2%2bY3M44u2Gw0sf/aUum/7JGAY2GsF1a//xzLQcEjwBfCedNfN9cgkhXArXY0z0TLLSHQ%3d%3d,  e ao editor eu uso o Vbsedit. É pago mas....a versão trial tem todas as funcionalidades porém com uma tela (chatinha) de contagem)

    O VisualStudio tb identa o código mas eu não sei se tem compilador.


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    terça-feira, 24 de novembro de 2009 11:54
  • Entendi...
    Veja se te atende...

    O txt está com Data e com o nome do terminal, sendo necessário apenas alterar o campo em negrito afim de direcionar o arquivo.



    StrComputer = "."

    '::::::::::::::::::::::::::::::::::
    'Data do ultimo BOOT
    '::::::::::::::::::::::::::::::::::

    Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
    Set objDtBoot = objWMIService.ExecQuery("SELECT * FROM Win32_OperatingSystem")

    For each objBoot in objDtBoot
    DtUltBoot = FormatDataTime(objBoot.LastBootUpTime)
    Next

    '::::::::::::::::::::::::::::::::::
    'Lista Ultima atualização
    '::::::::::::::::::::::::::::::::::

    Set objSession = CreateObject("Microsoft.Update.Session")
    Set objSearcher = objSession.CreateUpdateSearcher

    Set colHistory = objSearcher.QueryHistory(1, 1)

    For Each objEntry in colHistory
        UltAtu = objEntry.Title
     DtUltAtu = objEntry.Date
    Next
    ':::::::::::::::::::::::::::::::::::::
    'Cria Txt Com dados
    ':::::::::::::::::::::::::::::::::::::

    'LogFileName

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set WshShell = WScript.CreateObject("WScript.Shell")

    strCompName = WshShell.ExpandEnvironmentStrings("%COMPUTERNAME%")

    'Edita darta
    Data = Date()
    DtAt = Split(data,"/",-1)
    DataLog = DtAt(0)&DtAt(1)&DtAt(2)

    'caminho do arquivo txt
    TempFilename = "c:\"&DataLog&"_"&strCompName&".txt"

    'Inicia Gravação
    Set Arquivo = objFSO.CreateTextFile(Tempfilename)

    Arquivo.writeline "Terminal: " & strCompName
    Arquivo.writeline "Data ultima atualização: "&DtUltAtu
    Arquivo.writeline "Pacote instalado: "&UltAtu

    'Fecha arquivo
    Arquivo.close()

     


    Function FormatDataTime(VarDateCheck)
    LeftStr = Left(VarDateCheck, 14)
    TSec = Mid(LeftStr, 13, 2)
    THora = Mid(LeftStr, 9, 2)
    TMin = Mid(LeftStr, 11, 2)
    DYear = Left(LeftStr, 4)
    DMonth = Mid(LeftStr, 5, 2)
    DDay = Mid(LeftStr, 7, 2)

    FormatDataTime = DDay & "/" & DMonth & "/" & DYear &" - "&THora&":"&Tmin&":"&TSec
    End Function

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Ta perfeito !! Muito obrigado.

    Será que eu consigo fazer isso em lote ?
    Como eu fasso pra por um Array nesse script. Exemplo "ArrComputer = Array("server1","server2","Server3")

    Voce usa algum "compilador" especifico pra testar esses scripts ? Eu to procurando uma ferramenta pra comecar a programar e aprender a fazer esses scripts. Tem alguma pra indicar ?



    Tenho sim, quanto a documentação segue o link http://www.microsoft.com/downloads/details.aspx?FamilyID=01592c48-207d-4be1-8a76-1c4099d7bbb9&displaylang=en&Hash=0vk7EDVC/jdumG2pVh2%2bY3M44u2Gw0sf/aUum/7JGAY2GsF1a//xzLQcEjwBfCedNfN9cgkhXArXY0z0TLLSHQ%3d%3d ,  e ao editor eu uso o Vbsedit. É pago mas....a versão trial tem todas as funcionalidades porém com uma tela (chatinha) de contagem)

    O VisualStudio tb identa o código mas eu não sei se tem compilador.


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    Como eu consigo fazer isso em lote ?
    terça-feira, 24 de novembro de 2009 19:14
  • Como a variável do arquivo é o nome do terminal. Não tem problema nenhum em vc utilizar ele na chamada do script de logon dos terminais.

    Altere a linha

    TempFilename = "c:\"&DataLog&"_"&strCompName&".txt"
    Para

    TempFilename = \\seuservidor\seucompartilhamento\&DataLog&"_"&strCompName&".txt"

    Se for em Bat, coloque o arquivo em uma pasta da rede e chame ele pela batch com a linha:

    cscript \\seuservidor\suapasta\seuarquivo.vbs

    Ele irá iniciar toda x que o terminal for ligado.


    Qualquer duvida poste...

    []s,

    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    terça-feira, 24 de novembro de 2009 19:37
  • Acho que eu me expressei mal.
    Eu queria gerar um único arquivo .txt contendo as informações de todos os computadores que estivessem dentro de um "array".

    Exemplo:

    Terminal: Computador 1
    Data do ultimo Boot: 27/11/2009 - 10:15:42
    Data ultima atualização: 12/11/2009 10:19:22
    Pacote instalado: Security Update for Microsoft Office Word 2003 (KB973443)

    Terminal: Computador 2
    Data do ultimo Boot: 22/11/2009 - 12:15:42
    Data ultima atualização: 12/11/2009 10:19:22
    Pacote instalado: Security Update for Microsoft Office Word 2003 (KB973443)

    Terminal: Computador 3
    Data do ultimo Boot: 22/11/2009 - 12:15:42
    Data ultima atualização: 12/11/2009 10:19:22
    Pacote instalado: Security Update for Microsoft Office Word 2003 (KB973443)

    e assim por diante...

    Eu quero executar esse script manualmente (clicando direto no .vbs) e buscar essas informacoes sem ter que precisar logar nas maquinas e/ou servidores

    Obrigado.
    • Editado Paskaw sexta-feira, 27 de novembro de 2009 13:52 correção
    sexta-feira, 27 de novembro de 2009 13:37
  • Paskaw, boa tarde.

    Caso precise rodar em todos os terminais, utilize o PSEXEC da systemnails.
    Outra forma de executar essa solicitação é por GPO/Script de logon. Quando os usuários logarem, ele executa oscript.

    Caso queira unificar os arquivos em um unico arquivo utilize o comando TYPE (DOS)

    Abra o prompt de comando, e digite:

    Type [Arquivos] > [Arquivo de saida]

    Ex:

    Type c:\MeusLogs\*.* . c:\LogsUnificados.txt

    Lembrando que vc deverá direcionar a saida para um local diferenciado senão ele insere no merge, duplicando os valores.


    Efetue os testes e poste os resultados!
    Se util classifique!

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 27 de novembro de 2009 14:04
  • Paskaw, boa tarde.

    Caso precise rodar em todos os terminais, utilize o PSEXEC da systemnails.
    Outra forma de executar essa solicitação é por GPO/Script de logon. Quando os usuários logarem, ele executa oscript.

    Caso queira unificar os arquivos em um unico arquivo utilize o comando TYPE (DOS)

    Abra o prompt de comando, e digite:

    Type [Arquivos] > [Arquivo de saida]

    Ex:

    Type c:\MeusLogs\*.* . c:\LogsUnificados.txt

    Lembrando que vc deverá direcionar a saida para um local diferenciado senão ele insere no merge, duplicando os valores.


    Efetue os testes e poste os resultados!
    Se util classifique!

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"

    To tentando usar o PSEXEC

    Usando a seguinte linha de comnado

    "psexec \\p2341 -c UDEB.vbs"

    Ele ta me dando o seguinte erro:

    "PsExec could not start udeb.vbs on p2341
    The system cannot find the file specified"

    OBS: O micro p2341 é um micro remoto na rede, o "UDEB.vbs" está na raiz do micro em que eu estou executando o comando acima.

    Esse comando executado com atributo "-c" pelo que eu entendi, deveria copiar o udeb.vbs para uma pasta de sistema do micro remoto (p2341) e executa-lo, certo ?

    Não to entendendo porque ta dando esse erro, pode me dar um help ?
    quinta-feira, 3 de dezembro de 2009 19:20
  • Paskaw, boa tarde.

    Caso precise rodar em todos os terminais, utilize o PSEXEC da systemnails.
    Outra forma de executar essa solicitação é por GPO/Script de logon. Quando os usuários logarem, ele executa oscript.

    Caso queira unificar os arquivos em um unico arquivo utilize o comando TYPE (DOS)

    Abra o prompt de comando, e digite:

    Type [Arquivos] > [Arquivo de saida]

    Ex:

    Type c:\MeusLogs\*.* . c:\LogsUnificados.txt

    Lembrando que vc deverá direcionar a saida para um local diferenciado senão ele insere no merge, duplicando os valores.


    Efetue os testes e poste os resultados!
    Se util classifique!

    []s,


    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"

    To tentando usar o PSEXEC

    Usando a seguinte linha de comnado

    c
    Ele ta me dando o seguinte erro:

    "PsExec could not start udeb.vbs on p2341
    The system cannot find the file specified"

    OBS: O micro p2341 é um micro remoto na rede, o "UDEB.vbs" está na raiz do micro em que eu estou executando o comando acima.

    Esse comando executado com atributo "-c" pelo que eu entendi, deveria copiar o udeb.vbs para uma pasta de sistema do micro remoto (p2341) e executa-lo, certo ?

    Não to entendendo porque ta dando esse erro, pode me dar um help ?

    Simples....

    Eu apanhei tb da mesma forma....
    Chama o script apontando quem vai executar

    Ex: "psexec \\p2341 -c cscript \\SeuDiretório\Pastas\UDEB.vbs"

    O Cscript é quem executa.

    Com isso deverá funcionar.

    Efetue os testes e poste os resultados!
    []s,



    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    quinta-feira, 3 de dezembro de 2009 21:49
  • É to quase desistindo :(

    Usando o comando:

    "psexec \\p2341 -c cscript \\SeuDiretório\Pastas\UDEB.vbs "

    Agora ta dando o seguinte erro:

    CScript Error: Execution of the Windows Script Host failed. (Not enough storage
    is available to complete this operation. )
    cscript.exe exited on p2341 with error code 1.

    sexta-feira, 4 de dezembro de 2009 10:39
  • É to quase desistindo :(

    Usando o comando:

    "psexec \\p2341 -c cscript \\SeuDiretório\Pastas\UDEB.vbs "

    Agora ta dando o seguinte erro:

    CScript Error: Execution of the Windows Script Host failed. (Not enough storage
    is available to complete this operation. )
    cscript.exe exited on p2341 with error code 1.


    Paskaw, bom dia.

    (Not enough storage
    is available to complete this operation. ) >> Indica que ele não encontrou o VBS.


    O PSexec vc tem que indicar aonde está localizado o VBS
    Ex: 

    Estrutura: 

    Localização do VBS = "\\Server\Departamento\Ti\UDEB.vbs"

    Como ficaria a linha: 

    psexec \\p2341 -u CONTOSO\Administrator -p Srv#Contoso%00 -c cscript \\Server\Departamento\Ti\UDEB.vbs


    Explicando: 

    Paramentros.

    -u : Usuário que irá conectar remotamente
    -p : Senha 

    -c:  Copia para local antes de executar. 

    \\Server\Departamento\Ti\UDEB.vbs :  Aonde está o script. 

    Se mudar o local do script para c:\ (Raiz) e vc no terminal. Ñ precisa utilizar o PCEXEC


    Ficaria cscript c:\UDEB.vbs



    Resumindo:  o PSEXEC é um utilitário que servira para vc acessar e rodar scripts remotamente. Localmente ou em script de logon não é necessário. 

    Poste suas duvidas e os resultados!
    []s, 

     
    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 4 de dezembro de 2009 11:56
  • Perfeito !

    O erro estava na permissão, eu pensei que o Psexec assumiria as permissões do usuario que estivesse rodando o script, mais não é bem assim.

    O comando só funcionou depois de passar os parametros de permissão. "-u" e "-p".

    Eu estou rodando a seguinte .BAT agora:

    @echo off

    :console

    psexec \\Micro_Remoto_1 -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs
    psexec \\Micro_Remoto_2 -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs
    psexec \\Micro_Remoto_3 -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs

    :end

    Mas ta acontecendo alguns erro que eu tenho uma ideia do que seja.
    Quando eu executo a macro, o comando funciona muito bem para todas as maquinas, porem algumas maquinas está dando erro de:

    "CScript Error: Loading script "\\p2516\logdescript\UDEB.vbs" failed (The network
     path was not found. ).
    cscript.exe exited on p57dc01 with error code 1."

    Eu tenho quase certeza que esse erro é devido a um Timeout muito grande para acessar o micro p2516.

    Existe alguma forma de aumentar o Timeout de acesso ?

    Como eu posso juntar os resultados de todas as maquinas em um unico arquivo .TXT ?

    Obrigado !
    sexta-feira, 4 de dezembro de 2009 13:36
  • Perfeito !

    O erro estava na permissão, eu pensei que o Psexec assumiria as permissões do usuario que estivesse rodando o script, mais não é bem assim.

    O comando só funcionou depois de passar os parametros de permissão. "-u" e "-p".

    Eu estou rodando a seguinte .BAT agora:

    @echo off

    :console

    psexec \\Micro_Remoto_1 -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs
    psexec \\Micro_Remoto_2 -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs
    psexec \\Micro_Remoto_3 -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs

    :end

    Mas ta acontecendo alguns erro que eu tenho uma ideia do que seja.
    Quando eu executo a macro, o comando funciona muito bem para todas as maquinas, porem algumas maquinas está dando erro de:

    "CScript Error: Loading script "\\p2516\logdescript\UDEB.vbs" failed (The network
     path was not found. ).
    cscript.exe exited on p57dc01 with error code 1."

    Eu tenho quase certeza que esse erro é devido a um Timeout muito grande para acessar o micro p2516.

    Existe alguma forma de aumentar o Timeout de acesso ?

    Como eu posso juntar os resultados de todas as maquinas em um unico arquivo .TXT ?

    Obrigado !
    Paskaw boa tarde.


    vamos por parte. 
     
    Crie um arquivo.txt ou exporte do AD editando. Lembre de colocar o arquivo junto do PSEXEC. (local)
    O arquivo deverá ficar assim:

    Terminal1
    Terminal2
    Terminal3
    Terminal4

    Na linha do PSEXEC utilize.....

    psexec @computadores.txt -u Dominio\Administrador -p senha -c cscript \\p2516\logdescript\UDEB.vbs

    Com isso vc economizará bath

    Quando aos txt....use o comando type.

    Type "Pasta onde está os TXT" > "localenomedotxt"

    Ex: Type c:\Logs\*.* > c:\Logsunificados.txt

    Quanto ao psexec, verifique o firewall ele geralmente bloqueia esse tipo de solicitação. ~

    Poste os resultados!
    []s,








    " Qm tem boca vai a roma, meu fogão tem 6 e não saiu da cozinha ainda"
    sexta-feira, 4 de dezembro de 2009 15:08
  • Funcionou perfeitamente.

    Agora o que eu preciso fazer, para aplicar esse script em todas as maquinas do dominio, mais de uma forma manual, ou seja, não coloca-lo no logon dos usuarios.
    Eu quero pegar essas informações de forma direta, eu clicando no vbs.


    segunda-feira, 7 de dezembro de 2009 15:54
  • Artigo - System Info

    http://jordanomazzoni.com.br/index.php?option=com_content&view=article&id=259&Itemid=82

    Caso seja útil não esqueça de pontuar.

    Grande abraço

    Jordano Mazzoni


    http://jordanomazzoni.com.br
    sábado, 4 de setembro de 2010 17:59