【问题标题】:How to return the latest version of java using Get-WmiObject如何使用 Get-WmiObject 返回最新版本的 java
【发布时间】: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

标签: powershell sorting version


【解决方案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] }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-26
  • 1970-01-01
  • 1970-01-01
  • 2014-08-22
  • 1970-01-01
相关资源
最近更新 更多