Contact Info

Crumbtrail

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

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


Description

The Win32_CodecFile WMI class represents the audio or video codec installed on the computer system. Codecs convert one media format type to another, typically a compressed format to an uncompressed format. The name codec is derived from a combination of compress and decompress. For example, a codec can convert a compressed format such as MS-ADPCM to an uncompressed format such as PCM, which most audio hardware can play directly.

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

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

      WScript.Echo("AccessMask: " + objItem.AccessMask);
      WScript.Echo("Archive: " + objItem.Archive);
      WScript.Echo("Caption: " + objItem.Caption);
      WScript.Echo("Compressed: " + objItem.Compressed);
      WScript.Echo("CompressionMethod: " + objItem.CompressionMethod);
      WScript.Echo("CreationClassName: " + objItem.CreationClassName);
      WScript.Echo("CreationDate: " + WMIDateStringToDate(objItem.CreationDate));
      WScript.Echo("CSCreationClassName: " + objItem.CSCreationClassName);
      WScript.Echo("CSName: " + objItem.CSName);
      WScript.Echo("Description: " + objItem.Description);
      WScript.Echo("Drive: " + objItem.Drive);
      WScript.Echo("EightDotThreeFileName: " + objItem.EightDotThreeFileName);
      WScript.Echo("Encrypted: " + objItem.Encrypted);
      WScript.Echo("EncryptionMethod: " + objItem.EncryptionMethod);
      WScript.Echo("Extension: " + objItem.Extension);
      WScript.Echo("FileName: " + objItem.FileName);
      WScript.Echo("FileSize: " + objItem.FileSize);
      WScript.Echo("FileType: " + objItem.FileType);
      WScript.Echo("FSCreationClassName: " + objItem.FSCreationClassName);
      WScript.Echo("FSName: " + objItem.FSName);
      WScript.Echo("Group: " + objItem.Group);
      WScript.Echo("Hidden: " + objItem.Hidden);
      WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate));
      WScript.Echo("InUseCount: " + objItem.InUseCount);
      WScript.Echo("LastAccessed: " + WMIDateStringToDate(objItem.LastAccessed));
      WScript.Echo("LastModified: " + WMIDateStringToDate(objItem.LastModified));
      WScript.Echo("Manufacturer: " + objItem.Manufacturer);
      WScript.Echo("Name: " + objItem.Name);
      WScript.Echo("Path: " + objItem.Path);
      WScript.Echo("Readable: " + objItem.Readable);
      WScript.Echo("Status: " + objItem.Status);
      WScript.Echo("System: " + objItem.System);
      WScript.Echo("Version: " + objItem.Version);
      WScript.Echo("Writeable: " + objItem.Writeable);
   }
}

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