Win32_PnPSignedDriver 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_PnPSignedDriver 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_PnPSignedDriver", "WQL", wbemFlagReturnImmediately | wbemFlagForwardOnly); var enumItems = new Enumerator(colItems); for (; !enumItems.atEnd(); enumItems.moveNext()) { var objItem = enumItems.item(); WScript.Echo("Caption: " + objItem.Caption); WScript.Echo("ClassGuid: " + objItem.ClassGuid); WScript.Echo("CompatID: " + objItem.CompatID); WScript.Echo("CreationClassName: " + objItem.CreationClassName); WScript.Echo("Description: " + objItem.Description); WScript.Echo("DeviceClass: " + objItem.DeviceClass); WScript.Echo("DeviceID: " + objItem.DeviceID); WScript.Echo("DeviceName: " + objItem.DeviceName); WScript.Echo("DevLoader: " + objItem.DevLoader); WScript.Echo("DriverDate: " + WMIDateStringToDate(objItem.DriverDate)); WScript.Echo("DriverName: " + objItem.DriverName); WScript.Echo("DriverProviderName: " + objItem.DriverProviderName); WScript.Echo("DriverVersion: " + objItem.DriverVersion); WScript.Echo("FriendlyName: " + objItem.FriendlyName); WScript.Echo("HardWareID: " + objItem.HardWareID); WScript.Echo("InfName: " + objItem.InfName); WScript.Echo("InstallDate: " + WMIDateStringToDate(objItem.InstallDate)); WScript.Echo("IsSigned: " + objItem.IsSigned); WScript.Echo("Location: " + objItem.Location); WScript.Echo("Manufacturer: " + objItem.Manufacturer); WScript.Echo("Name: " + objItem.Name); WScript.Echo("PDO: " + objItem.PDO); WScript.Echo("Signer: " + objItem.Signer); WScript.Echo("Started: " + objItem.Started); WScript.Echo("StartMode: " + objItem.StartMode); WScript.Echo("Status: " + objItem.Status); WScript.Echo("SystemCreationClassName: " + objItem.SystemCreationClassName); 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); }