Windows Management Instrumentation (WMI)

2.3 VB Example
The same information can be gathered in any scripting langauge. Here is an example using Visual Basic gathering the same information as shown above.
'***************************************************************************
' 
' 10-07-01
' Simple VB Script to illustrate use of WMI to gather system information
' and display it in the same format at the Windows Management Console
'
'***************************************************************************
Set SystemSet = GetObject("winmgmts:").InstancesOf ("Win32_ComputerSystem")
for each System in SystemSet
	system_name = System.Caption 
        system_type = System.SystemType
	system_mftr = System.Manufacturer
	system_model = System.Model
next

Set ProcSet = GetObject("winmgmts:").InstancesOf ("Win32_Processor")
for each System in ProcSet
	proc_desc = System.Caption 
	proc_mftr = System.Manufacturer
	proc_mhz = System.CurrentClockSpeed
next

Set BiosSet = GetObject("winmgmts:").InstancesOf ("Win32_BIOS")
for each System in BiosSet
	bios_info = System.Version
next

Set ZoneSet = GetObject("winmgmts:").InstancesOf ("Win32_TimeZone")
for each System in ZoneSet
	loc_timezone = System.StandardName
next

Set OS_Set = GetObject("winmgmts:").InstancesOf ("Win32_OperatingSystem")
for each System in OS_Set
	os_name = System.Caption
        os_version = System.Version
	os_mftr = System.Manufacturer
	os_build = System.BuildNumber
	os_dir = System.WindowsDirectory
        os_locale = System.Locale
	os_totalmem = System.TotalVisibleMemorySize
	os_freemem = System.FreePhysicalMemory
        os_totalvirmem = System.TotalVirtualMemorySize
	os_freevirmem = System.FreeVirtualMemory
	os_pagefilesize = System.SizeStoredInPagingFiles
next

strResponseText = ("OS Name:  " & os_name & Chr(10))
strResponseText = strResponseText & ("Version:  " & os_version & " Build " & os_build & Chr(10))
strResponseText = strResponseText & ("OS Manufacturer:  " & os_mftr & Chr(10))
strResponseText = strResponseText & ("System Name:  " & system_name & Chr(10))
strResponseText = strResponseText & ("System Manufacturer:  " & system_mftr & Chr(10))
strResponseText = strResponseText & ("System Model:  " & system_model & Chr(10))
strResponseText = strResponseText & ("System Type:  " & system_type & Chr(10))
strResponseText = strResponseText & ("Processor:  " & proc_desc & " " & proc_mftr & " ~" & proc_mhz & "Mhz" & Chr(10))
strResponseText = strResponseText & ("BIOS Version:  " & bios_info & Chr(10))
strResponseText = strResponseText & ("Windows Directory:  " & os_dir & Chr(10))
strResponseText = strResponseText & ("Locale:  " & os_locale & Chr(10))  
strResponseText = strResponseText & ("Time Zone:  " & loc_timezone & Chr(10))
strResponseText = strResponseText & ("Total Physical Memory:  " & os_totalmem & "KB" & Chr(10))
strResponseText = strResponseText & ("Available Physical Memory:  " & os_freemem & "KB" & Chr(10))
strResponseText = strResponseText & ("Total Virtual Memory:  " & os_totalvirmem & "KB" & Chr(10))
strResponseText = strResponseText & ("Available Virtual Memory:  " & os_freevirmem & "KB" & Chr(10))
strResponseText = strResponseText & ("Page File Space : " & os_pagefilesize & "KB" & Chr(10))

MsgBox strResponseText, 0,"System Summary Information"
The output of this VBScript is shown here: 

vboutput