(view source code of physmem.vbs as plain text)
' PhysMem.vbs, Version 1.01
' Display a physical memory summary for the specified computer.
'
' Written by Rob van der Woude
' http://www.robvanderwoude.com
' 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 = UCase( Wscript.Arguments(0) )
if InStr( strComputer, "?" ) > 0 Then Syntax
Case Else
' Maximum is 1 command line parameter
Syntax
End Select
' Header line for screen output
strMsg = vbCrLf & "Hardware summary for " & strComputer & ":" & vbCrLf & vbCrLf
' Enable error handling
On Error Resume Next
' Connect to specified computer
Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
' Display error number and description if applicable
If Err Then ShowError
' Query logical memory properties
Set colItems = objWMIService.ExecQuery( "Select * from Win32_LogicalMemoryConfiguration", , 48 )
' Display error number and description if applicable
If Err Then ShowError
' Prepare display of results
For Each objItem in colItems
strMsg = vbCrLf _
& "Total physical memory : " _
& Int( ( objItem.TotalPhysicalMemory + 1023 ) / 1024 ) _
& " MB" & vbCrLf & vbCrLf
Next
' Query physical memory properties
Set colItems = objWMIService.ExecQuery("Select * from Win32_PhysicalMemory",,48)
' Display error number and description if applicable
If Err Then ShowError
' Prepare display of results
For Each objItem in colItems
strMsg = strMsg _
& " Memory module : " & objItem.DeviceLocator & vbCrLf _
& " Capacity : " & Int( ( objItem.Capacity + 1048575 ) / 1048576 ) & " MB" & vbCrLf _
& " Rated speed : " & objItem.Speed & " MHz" & vbCrLf _
& " Socket width : " & objItem.TotalWidth & " pins" & vbCrLf & vbCrLf
Next
' Add a copyright notice
strMsg = strMsg & "Written by Rob van der Woude" & vbCrLf _
& "http://www.robvanderwoude.com" & vbCrLf
' 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 _
& "PhysMem.vbs, Version 1.01" & vbCrLf _
& "Display physical memory summary for " _
& "any computer on the network" & vbCrLf & vbCrLf _
& "Usage: CSCRIPT //NOLOGO PHYSMEM.VBS " _
& "[ computer_name ]" & vbCrLf & vbCrLf _
& "Where: " & Chr(34) & "computer_name" & Chr(34) _
& " is the optional name of a remote" & vbCrLf _
& " computer (default is local computer " _
& "name)" & vbCrLf & vbCrLf _
& "Written by Rob van der Woude" & vbCrLf _
& "http://www.robvanderwoude.com" & vbCrLf & vbCrLf _
& "Created with Microsoft's Scriptomatic tool" & vbCrLf _
& "http://www.microsoft.com/technet/treeview/default.asp" _
& "?url=/technet/scriptcenter/WMImatic.asp" & vbCrLf
WScript.Echo strMsg
WScript.Quit(1)
End Sub
Private Function Strip( strInput )
Do While Left( strInput, 1 ) = " "
strInput = Mid( strInput, 2 )
Loop
Strip = strInput
End Function
page last modified: 2024-04-16; loaded in 0.0064 seconds