如何使用 Get-WmiObject 返回最新版本的 java
Posted
技术标签:
【中文标题】如何使用 Get-WmiObject 返回最新版本的 java【英文标题】:How to return the latest version of java using Get-WmiObject 【发布时间】:2021-09-28 21:37:04 【问题描述】:我想弄清楚如何使用
Get-WmiObject -Class Win32_Product -ComputerName $System -Filter "Name like 'Java%'" | Select -Expand Version'"
以返回查询的 JAVA 的最新版本。
返回
8.0.2610.12
8.0.2810.9
8.0.2910.10
2.8.261.12
期待回归
8.0.2910.10
【问题讨论】:
顺便说一句:CIM cmdlet(例如,Get-CimInstance
)在 PowerShell v3(2012 年 9 月发布)中取代了 WMI cmdlet(例如,Get-WmiObject
)。因此,应该避免使用 WMI cmdlet,尤其是因为 PowerShell (Core) (v6+),未来所有努力的方向,甚至不再拥有它们。但是请注意,WMI 仍然是 CIM cmdlet 的基础。有关详细信息,请参阅this answer。
【参考方案1】:
使用the Sort-Object
cmdlet对版本字符串进行排序,然后取最大值:
$versions = Get-WmiObject -Class Win32_Product -ComputerName $System -Filter "Name like 'Java%'" | Select -Expand Version
$versions | Sort $_ -as [version] -Descending | Select -First 1
【讨论】:
成功了!谢谢您的帮助!非常感谢。 嘿,我还有一个问题。一旦我添加了 Select-Object -Property @n="Hostname";e=$System,Name,Version 它就不再排序了。 将Sort $_ -as [version]
更改为 Sort $_.Version -as [version]
以上是关于如何使用 Get-WmiObject 返回最新版本的 java的主要内容,如果未能解决你的问题,请参考以下文章
win8系统快要过期激活,输入(Get-wmiObjeCt.......PrOductkey出现不
Get-WmiObject:“未找到提供程序”(0x80041013)
没有使用 (Get-WmiObject -Class win32_computersystem -ComputerName $computer).UserName 获取远程用户名