' Check command line parameters Select Case WScript.Arguments.Count Case 0 ' Default if none specified is local computer (".") Set objWMIService = GetObject( "winmgmts://./root/cimv2" ) Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystem", , 48 ) For Each objItem in colItems strComputer = objItem.Name Next Case 1 ' Command line parameter can either be a computer name ' or "/?" to request online help strComputer = Wscript.Arguments(0) if InStr( strComputer, "?" ) > 0 Then Syntax Case Else ' Maximum is 1 command line parameter Syntax End Select On Error Resume Next ' Connect to computer's WMI service Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" ) ' Display error number and description if applicable If Err.Number Then ShowError() ' Collect BIOS information Set colItems = objWMIService.ExecQuery( "Select * from Win32_BIOS where PrimaryBIOS = true", , 48 ) ' Display error number and description if applicable If Err.Number Then ShowError() ' Initialize screen output variable strMsg = vbCrLf & "BIOS summary for " & strComputer & ":" & vbCrLf ' Prepare collected info for display For Each objItem in colItems strMsg = strMsg _ & " BIOS Name : " & objItem.Name & vbCrLf _ & " Version : " & objItem.Version & vbCrLf _ & " Manufacturer : " & objItem.Manufacturer & vbCrLf _ & " SMBIOS Version : " & objItem.SMBIOSBIOSVersion & vbCrLf Next ' Display the results WScript.Echo strMsg ' Done WScript.Quit(0) Sub ShowError strMsg = vbCrLf & "Error # " & Err.Number & vbCrLf & _ Err.Description & vbCrLf & vbCrLf Syntax End Sub Sub Syntax strMsg = strMsg & vbCrLf & "BIOS.vbs, Version 1.00" & vbCrLf & _ "Display BIOS information." & vbCrLf & vbCrLf & _ "Usage: CSCRIPT BIOS.VBS [ computer_name ]" & _ vbCrLf & vbCrLf & _ "Where: " & Chr(34) & "computer_name" & Chr(34) & _ " is the name of a WMI enabled computer on the network" & _ vbCrLf & vbCrLf & _ "Written by Rob van der Woude" & vbCrLf & _ "http://www.robvanderwoude.com" & vbCrLf & vbCrLf & _ "Created using Microsoft's Scriptomatic tool" & vbCrLf & _ "http://www.microsoft.com/technet/treeview/default.asp?" & _ "url=/technet/scriptcenter/WMImatic.asp" & vbCrLf WScript.Echo strMsg ' Abort with return code 1 WScript.Quit(1) End Sub