Contact Info

Crumbtrail

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

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


Description

The Win32_VideoController WMI class represents the capabilities and management capacity of the video controller on a Windows computer system.

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

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

      try { WScript.Echo("AcceleratorCapabilities: " + (objItem.AcceleratorCapabilities.toArray()).join(",")); }
         catch(e) { WScript.Echo("AcceleratorCapabilities: null"); }
      WScript.Echo("AdapterCompatibility: " + objItem.AdapterCompatibility);
      WScript.Echo("AdapterDACType: " + objItem.AdapterDACType);
      WScript.Echo("AdapterRAM: " + objItem.AdapterRAM);
      WScript.Echo("Availability: " + objItem.Availability);
      try { WScript.Echo("CapabilityDescriptions: " + (objItem.CapabilityDescriptions.toArray()).join(",")); }
         catch(e) { WScript.Echo("CapabilityDescriptions: null"); }
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("ColorTableEntries: " + objItem.ColorTableEntries);
      WScript.Echo("ConfigManagerErrorCode: " + objItem.ConfigManagerErrorCode);
      WScript.Echo("ConfigManagerUserConfig: " + objItem.ConfigManagerUserConfig);
      WScript.Echo("CreationClassName: " + objItem.CreationClassName);
      WScript.Echo("CurrentBitsPerPixel: " + objItem.CurrentBitsPerPixel);
      WScript.Echo("CurrentHorizontalResolution: " + objItem.CurrentHorizontalResolution);
      WScript.Echo("CurrentNumberOfColors: " + objItem.CurrentNumberOfColors);
      WScript.Echo("CurrentNumberOfColumns: " + objItem.CurrentNumberOfColumns);
      WScript.Echo("CurrentNumberOfRows: " + objItem.CurrentNumberOfRows);
      WScript.Echo("CurrentRefreshRate: " + objItem.CurrentRefreshRate);
      WScript.Echo("CurrentScanMode: " + objItem.CurrentScanMode);
      WScript.Echo("CurrentVerticalResolution: " + objItem.CurrentVerticalResolution);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("DeviceID: " + objItem.DeviceID);
      WScript.Echo("DeviceSpecificPens: " + objItem.DeviceSpecificPens);
      WScript.Echo("DitherType: " + objItem.DitherType);
      WScript.Echo("DriverDate: " + WMIDateStringToDate(objItem.DriverDate));
      WScript.Echo("DriverVersion: " + objItem.DriverVersion);
      WScript.Echo("ErrorCleared: " + objItem.ErrorCleared);
      WScript.Echo("ErrorDescription: " + objItem.ErrorDescription);
      WScript.Echo("ICMIntent: " + objItem.ICMIntent);
      WScript.Echo("ICMMethod: " + objItem.ICMMethod);
      WScript.Echo("InfFilename: " + objItem.InfFilename);
      WScript.Echo("InfSection: " + objItem.InfSection);
      WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate));
      WScript.Echo("InstalledDisplayDrivers: " + objItem.InstalledDisplayDrivers);
      WScript.Echo("LastErrorCode: " + objItem.LastErrorCode);
      WScript.Echo("MaxMemorySupported: " + objItem.MaxMemorySupported);
      WScript.Echo("MaxNumberControlled: " + objItem.MaxNumberControlled);
      WScript.Echo("MaxRefreshRate: " + objItem.MaxRefreshRate);
      WScript.Echo("MinRefreshRate: " + objItem.MinRefreshRate);
      WScript.Echo("Monochrome: " + objItem.Monochrome);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("NumberOfColorPlanes: " + objItem.NumberOfColorPlanes);
      WScript.Echo("NumberOfVideoPages: " + objItem.NumberOfVideoPages);
      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("ProtocolSupported: " + objItem.ProtocolSupported);
      WScript.Echo("ReservedSystemPaletteEntries: " + objItem.ReservedSystemPaletteEntries);
      WScript.Echo("SpecificationVersion: " + objItem.SpecificationVersion);
      WScript.Echo("Status: " + objItem.Status);
      WScript.Echo("StatusInfo: " + objItem.StatusInfo);
      WScript.Echo("SystemCreationClassName: " + objItem.SystemCreationClassName);
      WScript.Echo("SystemName: " + objItem.SystemName);
      WScript.Echo("SystemPaletteEntries: " + objItem.SystemPaletteEntries);
      WScript.Echo("TimeOfLastReset: " + WMIDateStringToDate(objItem.TimeOfLastReset));
      WScript.Echo("VideoArchitecture: " + objItem.VideoArchitecture);
      WScript.Echo("VideoMemoryType: " + objItem.VideoMemoryType);
      WScript.Echo("VideoMode: " + objItem.VideoMode);
      WScript.Echo("VideoModeDescription: " + objItem.VideoModeDescription);
      WScript.Echo("VideoProcessor: " + objItem.VideoProcessor);
   }
}

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);
}