Usuário com melhor resposta
Gravar em arquivo

Pergunta
-
Ba galera,
O que devo fazer para que o resultado desse script seja gravado em texto, e que esse resultado seja gravado em um arquivo unico em um caminho na rede.
strComputer="." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select SystemName,DeviceID,Size,FreeSpace, DriveType from Win32_LogicalDisk WHERE DriveType=3",,48) wscript.echo "Computador - Unidade Total Livre Utilizado" For Each objItem in colItems if err.number=0 then qtdUtilizada=Replace(Round((objItem.Size - objItem.FreeSpace)/1024/1024/1024,2),",",".") Wscript.echo " " & objItem.SystemName & " - " & objItem.DeviceID & _ vbtab & round((objItem.Size/1024/1024/1024),2) & "GB" &_ vbtab & round((objItem.FreeSpace/1024/1024/1024),2) & "GB" &_ vbtab & qtdUtilizada end if err.clear Next
obs, eu gostaria de deixar o script agendando para execuçao uma vez por semana nos servidores, e o resultado seja gravado no mesmo arquivo, mais a execução teria que ser feita de forma simuntanea, alguem sabe como fazer.
abraço tcheeeee.
- Editado Fábio JrModerator quarta-feira, 8 de fevereiro de 2012 16:19 Alterado título
Respostas
-
Este vai sempre acrescentando dados no arquivo, se o arquivo não existe ele cria e coloca o cabeçalho.
strComputer="." strArquivo = "\\seuservidor\seushare\espaço_em_disco.txt" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select SystemName,DeviceID,Size,FreeSpace, DriveType from Win32_LogicalDisk WHERE DriveType=3",,48) 'Verifica se o arquivo existe, se não existir cria e coloca cabeçalho Set objFSO = CreateObject("Scripting.FileSystemObject") Const ForAppending = 8 If objFSO.FileExists(strArquivo) Then Set objFile = objFSO.OpenTextFile(strArquivo, ForAppending, True) Else Set objFile = objFSO.CreateTextFile(strArquivo) objFile.Writeline "Computador - Unidade Total Livre Utilizado" End If For Each objItem in colItems if err.number=0 then qtdUtilizada=Replace(Round((objItem.Size - objItem.FreeSpace)/1024/1024/1024,2),",",".") strResultado = objItem.SystemName & " - " & objItem.DeviceID & _ vbtab & round((objItem.Size/1024/1024/1024),2) & "GB" &_ vbtab & round((objItem.FreeSpace/1024/1024/1024),2) & "GB" &_ vbtab & qtdUtilizada objFile.WriteLine strResultado end if err.clear Next objFile.close
Fábio de Paula Junior
- Marcado como Resposta Marcelo TI segunda-feira, 13 de fevereiro de 2012 11:44
Todas as Respostas
-
Marcelo,
Este tópico seu é antiog, vc já deve estar mandando nisso.
Fábio de Paula Junior
- Editado Fábio JrModerator quarta-feira, 8 de fevereiro de 2012 16:56 Link errado
-
Este vai sempre acrescentando dados no arquivo, se o arquivo não existe ele cria e coloca o cabeçalho.
strComputer="." strArquivo = "\\seuservidor\seushare\espaço_em_disco.txt" Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select SystemName,DeviceID,Size,FreeSpace, DriveType from Win32_LogicalDisk WHERE DriveType=3",,48) 'Verifica se o arquivo existe, se não existir cria e coloca cabeçalho Set objFSO = CreateObject("Scripting.FileSystemObject") Const ForAppending = 8 If objFSO.FileExists(strArquivo) Then Set objFile = objFSO.OpenTextFile(strArquivo, ForAppending, True) Else Set objFile = objFSO.CreateTextFile(strArquivo) objFile.Writeline "Computador - Unidade Total Livre Utilizado" End If For Each objItem in colItems if err.number=0 then qtdUtilizada=Replace(Round((objItem.Size - objItem.FreeSpace)/1024/1024/1024,2),",",".") strResultado = objItem.SystemName & " - " & objItem.DeviceID & _ vbtab & round((objItem.Size/1024/1024/1024),2) & "GB" &_ vbtab & round((objItem.FreeSpace/1024/1024/1024),2) & "GB" &_ vbtab & qtdUtilizada objFile.WriteLine strResultado end if err.clear Next objFile.close
Fábio de Paula Junior
- Marcado como Resposta Marcelo TI segunda-feira, 13 de fevereiro de 2012 11:44