Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Hernandes Yesdude

Adicionar em DB dados puxados do VBS

Recommended Posts

Olá,

 

criei um script bem simples em vbs para buscar as informações de um computador e jogar num xls, coloquei no netlogon do server, com isso cada vez que uma estação se loga na rede é criado (ou sobrescrito) o arquivo xls com as informações (inventário - software + hardware)

 

A pergunta é, com isso eu tenho varios arquivos de uma forma meio desorganizada (pois há mais de 100 pcs na rede), e tb não consigo saber quantos softwares X ou Y há instalados, para manter o controle das licenças.

 

Teria uma maneira melhor de organizá-los? Pensei em jogar os dados num DB e ir gerenciando-os atraves de um script em alguma linguagem web (qual eu trabalho, nao manjo vbs).

É possivel conectar ao DB usando vbs?

 

 

Agradeço a ajuda,

 

Hernandes

 

[Para quem interessar, segue o script - tá simples, mas funcional]

strComputer = "."strOS = ""with createobject( "wscript.network" )username = .usernameend with'''''''''''''''''''''''''''''''''''Set objWMIService = GetObject("winmgmts:" _	& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")'''''''''''''''''''''''''''''''''''Set OSItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")For Each objItem in OSItemsstrName = objItem.CSNameNext'''''''''''''''''''''''''''''''''''''' Mudar a localização do arquivo criado '''''''''Set objFSO = CreateObject("Scripting.FileSystemObject")Set objTextFile = objFSO.CreateTextFile("C:\Documents and Settings\suporte\Desktop\"& strName &".xls", True)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine "Relatorio realizado em " & FormatDateTime(Now(), vbGeneralDate)objTextFile.WriteLine "Relatório realizado por: " & username''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Set OSItems = objWMIService.ExecQuery("Select * from Win32_OperatingSystem")For Each objItem in OSItemsstrName = objItem.CSNameNextobjTextFile.WriteLine "Nome do Computador: " & strName''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Set col = objWMIService.ExecQuery("Select * from Win32_computersystemproduct")For Each obj in colobjTextFile.WriteLine "S/N: " & obj.IdentifyingNumber Next	''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine ""objTextFile.WriteLine ""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine ""objTextFile.WriteLine ""objTextFile.WriteLine "HARDWARE"objTextFile.WriteLine ""objTextFile.WriteLine ""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine "DISPOSITIVOS"objTextFile.WriteLine ""Set objFSO = CreateObject("Scripting.FileSystemObject")Set colDrives = objFSO.DrivesFor Each objDrive in colDrives	objTextFile.WriteLine "Drive letter: " & objDrive.DriveLetter	strDriveType = objDrive.DriveType	Select Case strDriveType		Case 1 objTextFile.WriteLine "Tipo: Midia Removivel"		Case 2 objTextFile.WriteLine "Tipo: Disco Rigido"		Case 3 objTextFile.WriteLine "Tipo: Unidade de rede mapeada"		Case 4 objTextFile.WriteLine "Tipo: Drive de CD-ROM"		Case 5 objTextFile.WriteLine "Tipo: drive RAM"	End Select	objTextFile.WriteLine ""  NextobjTextFile.WriteLine ""objTextFile.WriteLine ""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor")objTextFile.WriteLine "PROCESSADOR"objTextFile.WriteLine ""For Each objItem in colItems   objTextFile.WriteLine "Endereçamento: " & objItem.Description	   objTextFile.WriteLine "Atual Clock Speed: " & objItem.CurrentClockSpeed & "Mhz"objTextFile.WriteLine "Capacidade Total :" & objItem.MaxClockSpeed & " Mhz"NextobjTextFile.WriteLine ""''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''mEMORYSet colSettings = objWMIService.ExecQuery _	("Select * from Win32_ComputerSystem")For Each objComputer in colSettings 	objTextFile.WriteLine "MEMORIA"objTextFile.WriteLine ""	objTextFile.WriteLine "Memória RAM: " & objComputer.TotalPhysicalMemory /1024\1024+1 & "MB"Next objTextFile.WriteLine "" objTextFile.WriteLine ""'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' objTextFile.WriteLine "DISCO RIGIDO" objTextFile.WriteLine ""Set objLogicalDisk = objWMIService.Get("Win32_LogicalDisk.DeviceID='c:'")	 objTextFile.WriteLine "Tamanho: " & objLogicalDisk.Size /1024\1024+1 & "MB"	 objTextFile.WriteLine "Espaço Livre: " & objLogicalDisk.FreeSpace /1024\1024+1 & "MB" objTextFile.WriteLine "" objTextFile.WriteLine ""'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine "####################################################################"objTextFile.WriteLine "SISTEMA OPERACIONAL"objTextFile.WriteLine ""Set colOperatingSystems = objWMIService.ExecQuery _	("Select * from Win32_OperatingSystem")For Each objOperatingSystem in colOperatingSystems   ' objTextFile.WriteLine "Boot Device: " & objOperatingSystem.BootDevice   ' objTextFile.WriteLine "Build Number: " & objOperatingSystem.BuildNumber   ' objTextFile.WriteLine "Build Type: " & objOperatingSystem.BuildType	objTextFile.WriteLine "Nome: " & objOperatingSystem.Caption	objTextFile.WriteLine "Service Pack: " & objOperatingSystem.ServicePackMajorVersion   ' objTextFile.WriteLine "Code Set: " & objOperatingSystem.CodeSet   ' objTextFile.WriteLine "Country Code: " & objOperatingSystem.CountryCode   ' objTextFile.WriteLine "Debug: " & objOperatingSystem.Debug  '  objTextFile.WriteLine "Encryption Level: " & objOperatingSystem.EncryptionLevel	strOS = objOperatingSystem.Caption	  		If strOS = "Microsoft Windows XP Professional" Then				Set dtmConvertedDate = CreateObject("WbemScripting.SWbemDateTime")					dtmConvertedDate.Value = objOperatingSystem.InstallDate			dtmInstallDate = dtmConvertedDate.GetVarDate			objTextFile.WriteLine "Data de Instalação: " & dtmInstallDate 			End If		  '  objTextFile.WriteLine "OS Language: " & objOperatingSystem.OSLanguage	  '  objTextFile.WriteLine "OS Type: " & objOperatingSystem.OSType  '  objTextFile.WriteLine "Primary: " & objOperatingSystem.Primary		objTextFile.WriteLine "Serial Number: " & objOperatingSystem.SerialNumber	objTextFile.WriteLine "Versão: " & objOperatingSystem.Version			Next'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine ""objTextFile.WriteLine ""Set objWMIService = GetObject("winmgmts:" _	& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")Set colSoftware = objWMIService.ExecQuery _	("Select * from Win32_Product")'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''objTextFile.WriteLine "####################################################################"objTextFile.WriteLine "SOFTWARES INSTALADOS COM  O USO DO MSI (mais detalhes)"objTextFile.WriteLine ""objTextFile.WriteLine ""For Each objSoftware in colSoftware	objTextFile.WriteLine "Descrição: " & objSoftware.Caption 	objTextFile.WriteLine "Identificação: " & objSoftware.Description    ' objTextFile.WriteLine "IdentifyingNumber: " & objSoftware.IdentifyingNumber 			If strOS = "Microsoft Windows XP Professional" Then			objTextFile.WriteLine "Data de instalação: " & objSoftware.InstallDate2 		End If	   ' objTextFile.WriteLine "Install Location: "& objSoftware.InstallLocation 	' objTextFile.WriteLine "Install State: " & objSoftware.InstallState 	objTextFile.WriteLine "Nome: " & objSoftware.Name    ' objTextFile.WriteLine "Package Cache: " & objSoftware.PackageCache 	objTextFile.WriteLine "Fabricante: " & objSoftware.Vendor 	objTextFile.WriteLine "Versão: " & objSoftware.Version 		 objTextFile.WriteLine ""	 objTextFile.WriteLine ""Next''''''''''''''''''''''''''''''''''objTextFile.WriteLine ""objTextFile.WriteLine ""objTextFile.WriteLine "TODOS OS SOFTWARES INSTALADOS COM E SEM O USO DO MSI"objTextFile.WriteLine ""objTextFile.WriteLine ""objTextFile.WriteLine InstalledApplications(strComputer) Function InstalledApplications(node)  Const HKLM = &H80000002 'HKEY_LOCAL_MACHINE  Set oRegistry =  GetObject("winmgmts:{impersonationLevel=impersonate}!\\"  & node & "/root/default:StdRegProv")  sBaseKey =  "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"  iRC = oRegistry.EnumKey(HKLM, sBaseKey, arSubKeys)  For Each sKey In arSubKeys   iRC = oRegistry.GetStringValue( HKLM, sBaseKey & sKey, "DisplayName", sValue)  iRA = oRegistry.GetStringValue( HKLM, sBaseKey & sKey, "DisplayVersion", sVersion)    If iRC <> 0 Then    oRegistry.GetStringValue HKLM, sBaseKey & sKey, "QuietDisplayName", sValue   End If   If sValue <> "" Then    InstalledApplications = _ 	InstalledApplications & sValue & " " & sVersion & vbCrLf   End If  Next End Function ''''''''''''''''''''''''''''''''''msgbox "Relatório de "  & strName & " (" &strOS&") concluido com sucesso em "  & FormatDateTime(Now(), vbGeneralDate)objTextFile.Close

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.