Contact Info

Crumbtrail

ActiveXperts.com » Administration » Scripts » WMI » jscript sample

Win32_PerfFormattedData_PerfOS_Memory 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_PerfFormattedData_PerfOS_Memory WMI class can be used in ActiveXperts Network Monitor to monitor your servers.


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_PerfFormattedData_PerfOS_Memory", "WQL",
                                          wbemFlagReturnImmediately | wbemFlagForwardOnly);

   var enumItems = new Enumerator(colItems);
   for (; !enumItems.atEnd(); enumItems.moveNext()) {
      var objItem = enumItems.item();

      WScript.Echo("AvailableBytes: " + objItem.AvailableBytes);
      WScript.Echo("AvailableKBytes: " + objItem.AvailableKBytes);
      WScript.Echo("AvailableMBytes: " + objItem.AvailableMBytes);
      WScript.Echo("CacheBytes: " + objItem.CacheBytes);
      WScript.Echo("CacheBytesPeak: " + objItem.CacheBytesPeak);
      WScript.Echo("CacheFaultsPersec: " + objItem.CacheFaultsPersec);
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("CommitLimit: " + objItem.CommitLimit);
      WScript.Echo("CommittedBytes: " + objItem.CommittedBytes);
      WScript.Echo("DemandZeroFaultsPersec: " + objItem.DemandZeroFaultsPersec);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("FreeSystemPageTableEntries: " + objItem.FreeSystemPageTableEntries);
      WScript.Echo("Frequency_Object: " + objItem.Frequency_Object);
      WScript.Echo("Frequency_PerfTime: " + objItem.Frequency_PerfTime);
      WScript.Echo("Frequency_Sys100NS: " + objItem.Frequency_Sys100NS);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("PageFaultsPersec: " + objItem.PageFaultsPersec);
      WScript.Echo("PageReadsPersec: " + objItem.PageReadsPersec);
      WScript.Echo("PagesInputPersec: " + objItem.PagesInputPersec);
      WScript.Echo("PagesOutputPersec: " + objItem.PagesOutputPersec);
      WScript.Echo("PagesPersec: " + objItem.PagesPersec);
      WScript.Echo("PageWritesPersec: " + objItem.PageWritesPersec);
      WScript.Echo("PercentCommittedBytesInUse: " + objItem.PercentCommittedBytesInUse);
      WScript.Echo("PoolNonpagedAllocs: " + objItem.PoolNonpagedAllocs);
      WScript.Echo("PoolNonpagedBytes: " + objItem.PoolNonpagedBytes);
      WScript.Echo("PoolPagedAllocs: " + objItem.PoolPagedAllocs);
      WScript.Echo("PoolPagedBytes: " + objItem.PoolPagedBytes);
      WScript.Echo("PoolPagedResidentBytes: " + objItem.PoolPagedResidentBytes);
      WScript.Echo("SystemCacheResidentBytes: " + objItem.SystemCacheResidentBytes);
      WScript.Echo("SystemCodeResidentBytes: " + objItem.SystemCodeResidentBytes);
      WScript.Echo("SystemCodeTotalBytes: " + objItem.SystemCodeTotalBytes);
      WScript.Echo("SystemDriverResidentBytes: " + objItem.SystemDriverResidentBytes);
      WScript.Echo("SystemDriverTotalBytes: " + objItem.SystemDriverTotalBytes);
      WScript.Echo("Timestamp_Object: " + objItem.Timestamp_Object);
      WScript.Echo("Timestamp_PerfTime: " + objItem.Timestamp_PerfTime);
      WScript.Echo("Timestamp_Sys100NS: " + objItem.Timestamp_Sys100NS);
      WScript.Echo("TransitionFaultsPersec: " + objItem.TransitionFaultsPersec);
      WScript.Echo("TransitionPagesRePurposedPersec: " + objItem.TransitionPagesRePurposedPersec);
      WScript.Echo("WriteCopiesPersec: " + objItem.WriteCopiesPersec);
   }
}