Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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
Carregando comentários...