Как разобрать конкретный драйвер WMIobject как строку? - PullRequest
0 голосов
/ 08 марта 2019

Цель этого - получить версию драйвера дисплея из win32_PnPSignedDriver. Я застрял на том, как его отфильтровать.

Я получил некоторую идею от Как мне разобрать данные из запроса Get-WMIObject в строку? и изменить ее. Однако на выходе отображается полный список информации о версии драйвера, но я просто хочу распечатать версию драйвера дисплея.

Интересно, есть ли способ использовать powershell? У меня есть код, написанный для powershell, и для продолжения требуется версия дисплея.

моя команда, которую я использовал, была

get-wmiobject -class win32_PnPSignedDriver | select deviceclass -expand DriverVersion

Отредактировано:

Ожидаемый вывод должен быть только значением, если его графический драйвер Intel, например: 10.18.15.4248 Мне нужно проанализировать это значение в переменной и сравнить его с известным фиксированным значением в скрипте проверки

1 Ответ

1 голос
/ 08 марта 2019

Создайте коллекцию драйверов дисплея, отфильтровав результаты WMI на основе DeviceClass.Выберите описание и версию драйвера из отфильтрованных результатов.Примерно так:

# Get all drivers that have display as deviceclass
$ds = gwmi -class win32_PnPSignedDriver | ? { $_.DeviceClass -eq "DISPLAY" }

# Select description and driver's version
$ds | select description,driverversion

description                     driverversion
-----------                     -------------
NVIDIA Quadro P500              24.21.13.9836
Intel(R) UHD Graphics 620       25.20.100.6472

Редактировать: чтобы получить только строку версии без каких-либо лишних, обработайте результаты с помощью foreach aka % примерно так:

# An empty array for the results
$versions = @()

# Add each version as new array element
$ds | % { $versions += $_.driverversion }

# Print results
$versions
24.21.13.9836
25.20.100.6472

# Access the 1st element
$versions[0]
24.21.13.9836

# See the result type
$versions[0].gettype()

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     String                                   System.Object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...