Win32_MemoryDevice jscript sample code | ActiveXperts Network Monitor
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_MemoryDevice WMI class can be used in ActiveXperts Network Monitor to monitor your servers.
Description
The Win32_MemoryDevice WMI class represents the properties of a computer system`s memory device along with its associated mapped addresses.
Sample Code
var wbemFlagReturnImmediately = 0x10;
var wbemFlagForwardOnly = 0x20;
var arrComputers = new Array("DELL17");
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_MemoryDevice", "WQL",
wbemFlagReturnImmediately | wbemFlagForwardOnly);
var enumItems = new Enumerator(colItems);
for (; !enumItems.atEnd(); enumItems.moveNext()) {
var objItem = enumItems.item();
WScript.Echo("Access: " + objItem.Access);
try { WScript.Echo("AdditionalErrorData: " + (objItem.AdditionalErrorData.toArray()).join(",")); }
catch(e) { WScript.Echo("AdditionalErrorData: null"); }
WScript.Echo("Availability: " + objItem.Availability);
WScript.Echo("BlockSize: " + objItem.BlockSize);
WScript.Echo("Caption: " + objItem.Caption);
WScript.Echo("ConfigManagerErrorCode: " + objItem.ConfigManagerErrorCode);
WScript.Echo("ConfigManagerUserConfig: " + objItem.ConfigManagerUserConfig);
WScript.Echo("CorrectableError: " + objItem.CorrectableError);
WScript.Echo("CreationClassName: " + objItem.CreationClassName);
WScript.Echo("Description: " + objItem.Description);
WScript.Echo("DeviceID: " + objItem.DeviceID);
WScript.Echo("EndingAddress: " + objItem.EndingAddress);
WScript.Echo("ErrorAccess: " + objItem.ErrorAccess);
WScript.Echo("ErrorAddress: " + objItem.ErrorAddress);
WScript.Echo("ErrorCleared: " + objItem.ErrorCleared);
try { WScript.Echo("ErrorData: " + (objItem.ErrorData.toArray()).join(",")); }
catch(e) { WScript.Echo("ErrorData: null"); }
WScript.Echo("ErrorDataOrder: " + objItem.ErrorDataOrder);
WScript.Echo("ErrorDescription: " + objItem.ErrorDescription);
WScript.Echo("ErrorGranularity: " + objItem.ErrorGranularity);
WScript.Echo("ErrorInfo: " + objItem.ErrorInfo);
WScript.Echo("ErrorMethodology: " + objItem.ErrorMethodology);
WScript.Echo("ErrorResolution: " + objItem.ErrorResolution);
WScript.Echo("ErrorTime: " + WMIDateStringToDate(objItem.ErrorTime));
WScript.Echo("ErrorTransferSize: " + objItem.ErrorTransferSize);
WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate));
WScript.Echo("LastErrorCode: " + objItem.LastErrorCode);
WScript.Echo("Name: " + objItem.Name);
WScript.Echo("NumberOfBlocks: " + objItem.NumberOfBlocks);
WScript.Echo("OtherErrorDescription: " + objItem.OtherErrorDescription);
WScript.Echo("PNPDeviceID: " + objItem.PNPDeviceID);
try { WScript.Echo("PowerManagementCapabilities: " + (objItem.PowerManagementCapabilities.toArray()).join(",")); }
catch(e) { WScript.Echo("PowerManagementCapabilities: null"); }
WScript.Echo("PowerManagementSupported: " + objItem.PowerManagementSupported);
WScript.Echo("Purpose: " + objItem.Purpose);
WScript.Echo("StartingAddress: " + objItem.StartingAddress);
WScript.Echo("Status: " + objItem.Status);
WScript.Echo("StatusInfo: " + objItem.StatusInfo);
WScript.Echo("SystemCreationClassName: " + objItem.SystemCreationClassName);
WScript.Echo("SystemLevelAddress: " + objItem.SystemLevelAddress);
WScript.Echo("SystemName: " + objItem.SystemName);
}
}
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);
}
