Usuário com melhor resposta
Ajuda criar SCRIPT de Logon que varre estação atras de EXE e salva num txt com Host

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
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
-
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.closeMicrosoft 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
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
-
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.closeMicrosoft 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