When I look in Device Manager on my Windows 8.1 system, I can see the driver version and other info for the "Management Engine Interface" device:

Intel(R) Management Engine Interface
Driver Date: 11/27/2013
Driver Version:

but when querying Win32_PnpSignedDriver with WMI:

> Get_WmiObject Win32_PnpSignedDriver

I get detailed info for most devices but for this particular device many fields are empty:

__GENUS                 : 2
__CLASS                 : Win32_PnPSignedDriver
__SUPERCLASS            : CIM_Service
__DYNASTY               : CIM_ManagedSystemElement
__RELPATH               :
__PROPERTY_COUNT        : 28
__DERIVATION            : {CIM_Service, CIM_LogicalElement, CIM_ManagedSystemElement}
__SERVER                : MIKENOTE
__NAMESPACE             : root\cimv2
__PATH                  :
Caption                 :
ClassGuid               : {4d36e97d-e325-11ce-bfc1-08002be10318}
CompatID                : PCI\VEN_8086&DEV_9C3A&REV_04
CreationClassName       :
Description             :
DeviceClass             : SYSTEM
DeviceID                : PCI\VEN_8086&DEV_9C3A&SUBSYS_00011179&REV_04\3&11583659&1&B0
DeviceName              : Intel(R) Management Engine Interface
DevLoader               :
DriverDate              :
DriverName              :
DriverProviderName      :
DriverVersion           :
FriendlyName            :
HardWareID              : PCI\VEN_8086&DEV_9C3A&SUBSYS_00011179&REV_04
InfName                 :
InstallDate             :
IsSigned                :
Location                : PCI bus 0, device 22, function 0
Manufacturer            : Intel
Name                    :
PDO                     : \Device\NTPNP_PCI0004
Signer                  :
Started                 :
StartMode               :
Status                  :
SystemCreationClassName :
SystemName              :

How can I query WMI through Powershell to get the same info as Device Manager finds?

Edit 1: added Driver Date


This command should do better for finding the driver version, using Win32_SystemDriver:

gwmi Win32_SystemDriver | select DisplayName,@{n="version";e={(gi $_.pathname).VersionInfo.FileVersion}}

You might also find useful the TechNet Device Management PowerShell Cmdlets.

  • Ah so getting the info from the executable is how you do it, thanks! I guess using the field VersionInfo.ProductVersion would be even better? As part of the "version info" I also wanted to get the driver date (updated post so now explicitly mentioned by my question) but this doesn't seem to be the file date but rather the file's signature date. Would you know how to find this through WMI? – mikewse May 19 '19 at 21:55
  • After some research I've found that the file's signature date (timestamp) may be retrieved through Windows CryptoAPI. Here's a link to a Powershell integration: sysadmins.lv/blog-en/… – mikewse May 21 '19 at 19:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.