Windows 11下获取指定应用版本的PowerShell命令求助
Windows 11 读取指定应用产品版本的正确PowerShell命令
原命令错误原因
Select-Object -ExpandProperty参数后未指定具体属性名(比如产品版本对应的Version),导致参数缺失触发报错。Get-WmiObject已被PowerShell弃用,Windows 11推荐使用Get-CimInstance替代,避免兼容性问题。
正确命令示例
方法1:使用Get-CimInstance(推荐,兼容性好)
Get-CimInstance Win32_Product -Filter "Name LIKE 'ISASmaartHub'" | Select-Object -ExpandProperty Version
若需要同时查看应用名称和版本,可使用:
Get-CimInstance Win32_Product -Filter "Name LIKE 'ISASmaartHub'" | Select-Object Name, Version
方法2:读取注册表(避免MSI自动修复副作用)
Win32_Product查询时可能触发已安装MSI程序的自动修复,若想规避该问题,可直接读取系统注册表:
# 查询32位应用 Get-ChildItem "HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | Get-ItemProperty | Where-Object { $_.DisplayName -like 'ISASmaartHub' } | Select-Object DisplayName, DisplayVersion # 查询64位应用 Get-ChildItem "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall" | Get-ItemProperty | Where-Object { $_.DisplayName -like 'ISASmaartHub' } | Select-Object DisplayName, DisplayVersion
内容的提问来源于stack exchange,提问作者Shivani G
相关产品推荐
相关产品推荐

