Win32_PhysicalMemoryArray jscript sample code
The foundations for Manageability in Windows is Windows Management Instrumentation (WMI; formerly WBEM) and WMI extensions for Windows Driver Model (WDM).
ActiveXperts Network Monitor provides the ability to build monitor check routines based on WMI. ActiveXperts has collected more than a hundred WMI samples. You can use these samples as a base for new check routines you can write yourself. The Win32_PhysicalMemoryArray WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_PhysicalMemoryArray WMI class represents details about the computer system`s physical memory. This includes the number of memory devices, memory capacity available, and memory type (for example, system memory or video memory).
Sample Code
var wbemFlagReturnImmediately = 0x10; var wbemFlagForwardOnly = 0x20; var arrComputers = new Array("\localhost"); for (i = 0; i < arrComputers.length; i++) { WScript.Echo(); WScript.Echo("=========================================="); WScript.Echo("Computer: " + arrComputers[i]); WScript.Echo("=========================================="); var objWMIService = GetObject("winmgmts:\\\\" + arrComputers[i] + "\\root\\CIMV2"); var colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMemoryArray", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); var enumItems = new Enumerator(colItems); for (; !enumItems.atEnd(); enumItems.moveNext()) { var objItem = enumItems.item(); WScript.Echo("Caption: " + objItem.Caption); WScript.Echo("CreationClassName: " + objItem.CreationClassName); WScript.Echo("Depth: " + objItem.Depth); WScript.Echo("Description: " + objItem.Description); WScript.Echo("Height: " + objItem.Height); WScript.Echo("HotSwappable: " + objItem.HotSwappable); WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate)); WScript.Echo("Location: " + objItem.Location); WScript.Echo("Manufacturer: " + objItem.Manufacturer); WScript.Echo("MaxCapacity: " + objItem.MaxCapacity); WScript.Echo("MemoryDevices: " + objItem.MemoryDevices); WScript.Echo("MemoryErrorCorrection: " + objItem.MemoryErrorCorrection); WScript.Echo("Model: " + objItem.Model); WScript.Echo("Name: " + objItem.Name); WScript.Echo("OtherIdentifyingInfo: " + objItem.OtherIdentifyingInfo); WScript.Echo("PartNumber: " + objItem.PartNumber); WScript.Echo("PoweredOn: " + objItem.PoweredOn); WScript.Echo("Removable: " + objItem.Removable); WScript.Echo("Replaceable: " + objItem.Replaceable); WScript.Echo("SerialNumber: " + objItem.SerialNumber); WScript.Echo("SKU: " + objItem.SKU); WScript.Echo("Status: " + objItem.Status); WScript.Echo("Tag: " + objItem.Tag); WScript.Echo("Use: " + objItem.Use); WScript.Echo("Version: " + objItem.Version); WScript.Echo("Weight: " + objItem.Weight); WScript.Echo("Width: " + objItem.Width); } } function WMIDateStringToDate(dtmDate) { if (dtmDate == null) { return "null date"; } var strDateTime; if (dtmDate.substr(4, 1) == 0) { strDateTime = dtmDate.substr(5, 1) + "/"; } else { strDateTime = dtmDate.substr(4, 2) + "/"; } if (dtmDate.substr(6, 1) == 0) { strDateTime = strDateTime + dtmDate.substr(7, 1) + "/"; } else { strDateTime = strDateTime + dtmDate.substr(6, 2) + "/"; } strDateTime = strDateTime + dtmDate.substr(0, 4) + " " + dtmDate.substr(8, 2) + ":" + dtmDate.substr(10, 2) + ":" + dtmDate.substr(12, 2); return(strDateTime); }