none
Ajuda criar SCRIPT de Logon que varre estação atras de EXE e salva num txt com Host RRS feed

  • Pergunta

  • Galera,

    Estou querendo criar um script que procure todos os executaveis da estação(*.exe)  e  jogue o nome e caminho num arquivo na rede  ex: host+data.txt , acredito que seria um scritp de logon. Vamos ao exemplo para ficar mais claro:

    Nome do Arquivo:Financeiro01_21082012.txt

    Conteudo do arquivo:

    D:\user\rafaels\meus documentos\NFS\nfs.exe

    D:\user\rafaels\meus documentos\COD2\COD2.exe

    D:\user\rafaels\meus documentos\calculadora\hp342.exe

    ...

    Encontrei um script de um colega aqui do forum que esta procurando os arquivos e deletando , mas eu nao posso  deletar todos os executaveis ... eu quero colocar o nome  e caminho num txt para poder analisar o que é jogo ou porcaria do que realmente é sistema de trabalho. Exemplo de script do Colega :

    strPasta="D:\"

    set FSo = CreateObject("Scripting.FileSystemObject")

    Apagar_Arquivos(strPasta)

     

    Sub Apagar_Arquivos(Pasta)

     set folder = FSO.getFolder (Pasta)


     if folder.Subfolders.count > 0 then
      for each SubFolder in folder.Subfolders
       Apagar_Arquivos SubFolder
      next
     end if


     for each file in folder.files
     set objFile = FSO.GetFile(file)
     if FSO.GetExtensionName(objFile) = "tmp" or FSO.GetExtensionName(objFile) = "mp3" then
       File.delete
     end if
     next

    end sub

    No aguardo da ajuda dos colegas 8)

    Microsoft Certified System Administrator Microsoft Certified Desktop Support technician Mcafee System Security Certified MikroTik Certified Network Associate

    terça-feira, 21 de agosto de 2012 17:31

Respostas

  • Rafael boa tarde!

     

    Precisei uma vez de um escript que localizasse em uma determinhada maquina todos os arquivos .mp3 que existissem naquele computador entao encontrei o seguinte script:

     

    dim numeroCont,numeroTamanho,nomeComputador,textoNew
    
    nomeComputador = "HostName"
    
    numeroCont = 0
    
    numeroTamanho = 0
    
    Const ForAppending = 8
    
    set objetoFSO = CreateObject("Scripting.FileSystemObject")
    
    systime = Now()
    
    textoNew = "check-ext.txt"
    
    on error resume next
    
    set objetoSF = objetoFSO.OpenTextFile (textoNew, ForAppending, True)
    
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & nomeComputador & "\root\cimv2")
    
    Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile where drive = 'C:' and extension ='mp3'")
    
    for each objFile in colFiles
    
    Set objetoSF2 = objetoFSO.GetFile (objFile.name)
    
    numeroCont = numeroCont +1
    
    numeroTamanho = numeroTamanho + cdbl(round(objfile.filesize/1024))
    
    ArquivoInfo = "Arquivo: " & objfile.name & vbCrLf & "Tamanho :" & cdbl(round(objfile.filesize/1024)) & "Kb" & vbCrLf & "Date last modified:" & objetoSF2.DateLastModified & vbCrLf
    
    objetoSf.writeline ArquivoInfo
    
    
    
    Next
    
    
    objetoSF.writeline ":: Imprime totais ::"
    
    objetoSF.writeline "Arquivos: " & numeroCont
    
    objetoSF.writeline "Tamanho: " & numeroTamanho & "Kb"
    
    objetoSF.writeline ":: Terminou ::"
    
    objetoSF.close
     

    Este Script também lista o local de cada arquivo, e no final ainda faz um resumo de quantos arquivos tem e qual o tamanho o espaço ocupados por ele.

     

    Espero ter ajudado em caso de duvida a disposição! Att,

     Rodrigo Galdino

    • Marcado como Resposta Rafael Schmitt terça-feira, 21 de agosto de 2012 19:12
    terça-feira, 21 de agosto de 2012 17:43
  • Cara perfeito!! Fiz algumas adaptações para funcioanr pela rede e nao precisar  colocar o nome da maquina .. MAS VALEU MESMO SALVOU O DIA !!

    Segue o meu

    Set oNetwork = CreateObject("WScript.Network")
    dim numeroCont,numeroTamanho,nomeComputador,textoNew

    Destino = "\\SERVIDOR\teste\"

    nomeComputador = oNetwork.ComputerName

    numeroCont = 0

    numeroTamanho = 0

    Const ForAppending = 8

    set objetoFSO = CreateObject("Scripting.FileSystemObject")

    systime = Now()
    srtDay = cstr(day(systime))
    strMonth = cstr(month(systime))
    strYear = cstr(year(systime))
    strTime = cstr(Time())


    textoNew = Destino & nomeComputador & "_"& srtDay &"_"& strMonth &"_"& strYear & ".txt"

    on error resume next

    set objetoSF = objetoFSO.OpenTextFile (textoNew, ForAppending, True)

    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & nomeComputador & "\root\cimv2")

    Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile where drive = 'D:' and extension ='exe'")

    for each objFile in colFiles

    Set objetoSF2 = objetoFSO.GetFile (objFile.name)

    numeroCont = numeroCont +1

    numeroTamanho = numeroTamanho + cdbl(round(objfile.filesize/1024))

    ArquivoInfo = "Arquivo: " & objfile.name & vbCrLf & "Tamanho :" & cdbl(round(objfile.filesize/1024)) & "Kb" & vbCrLf & "Date last modified:" & objetoSF2.DateLastModified & vbCrLf

    objetoSf.writeline ArquivoInfo



    Next


    objetoSF.writeline ":: Imprime totais ::"

    objetoSF.writeline "Arquivos: " & numeroCont

    objetoSF.writeline "Tamanho: " & numeroTamanho & "Kb"

    objetoSF.writeline ":: Terminou ::"

    objetoSF.close


    Microsoft Certified System Administrator Microsoft Certified Desktop Support technician Mcafee System Security Certified MikroTik Certified Network Associate

    • Marcado como Resposta Rafael Schmitt terça-feira, 21 de agosto de 2012 20:02
    terça-feira, 21 de agosto de 2012 19:21

Todas as Respostas

  • Rafael boa tarde!

     

    Precisei uma vez de um escript que localizasse em uma determinhada maquina todos os arquivos .mp3 que existissem naquele computador entao encontrei o seguinte script:

     

    dim numeroCont,numeroTamanho,nomeComputador,textoNew
    
    nomeComputador = "HostName"
    
    numeroCont = 0
    
    numeroTamanho = 0
    
    Const ForAppending = 8
    
    set objetoFSO = CreateObject("Scripting.FileSystemObject")
    
    systime = Now()
    
    textoNew = "check-ext.txt"
    
    on error resume next
    
    set objetoSF = objetoFSO.OpenTextFile (textoNew, ForAppending, True)
    
    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & nomeComputador & "\root\cimv2")
    
    Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile where drive = 'C:' and extension ='mp3'")
    
    for each objFile in colFiles
    
    Set objetoSF2 = objetoFSO.GetFile (objFile.name)
    
    numeroCont = numeroCont +1
    
    numeroTamanho = numeroTamanho + cdbl(round(objfile.filesize/1024))
    
    ArquivoInfo = "Arquivo: " & objfile.name & vbCrLf & "Tamanho :" & cdbl(round(objfile.filesize/1024)) & "Kb" & vbCrLf & "Date last modified:" & objetoSF2.DateLastModified & vbCrLf
    
    objetoSf.writeline ArquivoInfo
    
    
    
    Next
    
    
    objetoSF.writeline ":: Imprime totais ::"
    
    objetoSF.writeline "Arquivos: " & numeroCont
    
    objetoSF.writeline "Tamanho: " & numeroTamanho & "Kb"
    
    objetoSF.writeline ":: Terminou ::"
    
    objetoSF.close
     

    Este Script também lista o local de cada arquivo, e no final ainda faz um resumo de quantos arquivos tem e qual o tamanho o espaço ocupados por ele.

     

    Espero ter ajudado em caso de duvida a disposição! Att,

     Rodrigo Galdino

    • Marcado como Resposta Rafael Schmitt terça-feira, 21 de agosto de 2012 19:12
    terça-feira, 21 de agosto de 2012 17:43
  • Cara perfeito!! Fiz algumas adaptações para funcioanr pela rede e nao precisar  colocar o nome da maquina .. MAS VALEU MESMO SALVOU O DIA !!

    Segue o meu

    Set oNetwork = CreateObject("WScript.Network")
    dim numeroCont,numeroTamanho,nomeComputador,textoNew

    Destino = "\\SERVIDOR\teste\"

    nomeComputador = oNetwork.ComputerName

    numeroCont = 0

    numeroTamanho = 0

    Const ForAppending = 8

    set objetoFSO = CreateObject("Scripting.FileSystemObject")

    systime = Now()
    srtDay = cstr(day(systime))
    strMonth = cstr(month(systime))
    strYear = cstr(year(systime))
    strTime = cstr(Time())


    textoNew = Destino & nomeComputador & "_"& srtDay &"_"& strMonth &"_"& strYear & ".txt"

    on error resume next

    set objetoSF = objetoFSO.OpenTextFile (textoNew, ForAppending, True)

    Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & nomeComputador & "\root\cimv2")

    Set colFiles = objWMIService.ExecQuery("SELECT * FROM CIM_DataFile where drive = 'D:' and extension ='exe'")

    for each objFile in colFiles

    Set objetoSF2 = objetoFSO.GetFile (objFile.name)

    numeroCont = numeroCont +1

    numeroTamanho = numeroTamanho + cdbl(round(objfile.filesize/1024))

    ArquivoInfo = "Arquivo: " & objfile.name & vbCrLf & "Tamanho :" & cdbl(round(objfile.filesize/1024)) & "Kb" & vbCrLf & "Date last modified:" & objetoSF2.DateLastModified & vbCrLf

    objetoSf.writeline ArquivoInfo



    Next


    objetoSF.writeline ":: Imprime totais ::"

    objetoSF.writeline "Arquivos: " & numeroCont

    objetoSF.writeline "Tamanho: " & numeroTamanho & "Kb"

    objetoSF.writeline ":: Terminou ::"

    objetoSF.close


    Microsoft Certified System Administrator Microsoft Certified Desktop Support technician Mcafee System Security Certified MikroTik Certified Network Associate

    • Marcado como Resposta Rafael Schmitt terça-feira, 21 de agosto de 2012 20:02
    terça-feira, 21 de agosto de 2012 19:21