Начал с этого по совету друга
Get-WmiObject win32_product | ft name, version
Но затем я нашел это, что заставляет меня задуматься. Небольшое исследование привело меня к этому
wmic product where "Name='Revit 2018'" get name,version
Что работает, насколько собраны данные. И да, я ищу другую программу в этом примере. в любом случае, как только я получил хорошую информацию с помощью WMIC, я попытался получить данные в переменную, чтобы получить только номер версии, но форматирование данных — это то, чего я никогда раньше не видел. Я надеялся на простое решение, например
$object = wmic product where "Name='Revit 2018'" get name,version
$object.version
Но только результатом является массив с 6 элементами, и только один из них является фактической строкой данных, и это одна строка, а не два свойства. И мне действительно интересно, является ли здесь правильным ответом старая утилита командной строки. Если это действительно лучший способ сделать это, есть ли способ преобразовать необработанные данные во что-то большее, PowerShelly? И если это не лучший способ получить эту информацию, то что? Эта страшная ссылка реальна или Get-WmiObject win32_product действительно безопасен? И если да, то есть ли способ отфильтровать по конкретному имени, чтобы ускорить процесс? И действительно, Get-WmiObject работает не так, как я ожидал, т.к.
$object = Get-WmiObject win32_product | ft name, version
foreach ($item in $object) {
Write-Host "$($item.version)"
}
Совсем не работает, как ожидалось.
РЕДАКТИРОВАТЬ: Кажется, это работает, как и ожидалось, что является прогрессом.
$version = (Get-WmiObject win32_product -filter:"Name = 'Revit 2018'" | Select-Object -property:*).version
Write-Host "$version!"
Я думаю, вопрос в том, действительно ли это безопасный и последовательный подход или есть лучший?
win32_product
несколько раз, и результаты всегда были... в лучшем случае непоследовательными. Иногда это работает, а иногда нет. Лучшего метода не нашел - person cet51   schedule 04.06.2018wmic product
решает запроситьwin32_product
в конце, так что это не будет иметь значения. Альтернативный подход — запросить реестр. - person Mathias R. Jessen   schedule 05.06.2018