现在,我得到两个单独的对象
在我以前的脚本中,我已经确定我正在调用单独的对象,并通过GUID进行关联
$mydev = Get-WmiObject -class Win32_NetworkAdapter | Where-Object {$_.pnpdeviceid -like "*VEN_0000&DEV_00AA*"} If ($mydev.GUID -eq $relatedobj.ParentID) { action }
但是没有GUID / ParentID /等。 属性为Win32_PnpSignedDriver对象。 是否有另一种方式来获取有关设备的驱动程序(特别是驱动程序版本)的信息,并获得设备的GUID? 是否有可能赢得Win32_PnpSignedDriver,我只是没有看到它?
我find了一个简单的方法。 我对registry并不擅长,所以这是我查看的最后一个地方。 但使用它可以更容易地find我正在寻找的信息。
我用和原始文章(用Win32_NetworkAdapter WMI对象)相同的方式比较nic信息,但是我将GUID与registry值进行比较。 这可以使用下面的一行来获得所有的nics:
$nicreg = Get-ChildItem -path "HKLM:\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}\" -ErrorAction SilentlyContinue foreach ($nic in $nicreg) { # do stuff with driver versions }
然后遍历每个NIC,比较$ nic.GetValue(“NetCfgInstanceId”)到$ mydev.GUID。 在确认您正在通过validationGUID来查看正确的网卡后,您可以为您正在查看的设备获取$ nic.GetValue(“DriverVersion”)。