【问题标题】:How to know the installed Software version in PowerShell如何在 PowerShell 中知道已安装的软件版本
【发布时间】:2017-03-08 14:19:48
【问题描述】:

我想知道我的系统中使用 PowerShell 安装的软件版本(比如 X 软件)。就我而言,我想知道使用 PowerShell 在我的系统中安装了哪个版本的 Service Fabric SDK。

【问题讨论】:

标签: powershell azure azure-service-fabric


【解决方案1】:

如果您的进程/软件正在运行,请使用以下命令:

Get-Process -Name "xsoftware" | Format-list -Property ProductVersion

【讨论】:

    【解决方案2】:

    此链接很好地突出了使用 WMI 方法的问题,然后概述了使用注册表的解决方案。他处理注册表的方式还允许针对远程机器调用它。

    https://mcpmag.com/articles/2017/07/27/gathering-installed-software-using-powershell.aspx

    【讨论】:

      【解决方案3】:

      您可以使用 WMI 获取已安装产品的信息。通过Name 进行此过滤。比如获取Word的信息:

      $product = gwmi win32_product -filter "Name LIKE '%Word%'"
      

      然后您将在Version 属性中找到版本信息:

      $product.Version
      

      注意:WMI 查找可能会有点慢,所以请耐心等待!

      【讨论】:

      • 被否决(非个人),因为 Win32_product 已损坏:它强制对所有已注册的 MSI 软件包进行重新注册(这有时会导致“修复”,从而导致应用程序设置丢失)。这已被打破多年,应该避免使用这个 WMI 类。通过注册表爬行是更好的解决方案。
      • @bluuf - 他们也许应该贡献一些东西,把它写下来作为答案......
      • 关于 win32_product (以及为什么它不好)和注册表解决方法的所有内容都写在 blogs.technet.microsoft.com/heyscriptingguy/2013/11/15/… 上的“Hey Scripting Guy”博客上(因为我没有编写这段代码,我没有想用别人写的代码“窃取”答案)。同样,否决票与个人无关:我只是希望人们阻止使用这个损坏的类,因为它在查询时会导致更多意想不到的问题。
      • @bluff,你能举个例子来了解安装的sdk versionl吗?或者你能举个例子吗?
      • @shri :查看我提供的链接(它链接到 MS 嘿脚本专家博客),其中包含使用注册表的解决方法
      猜你喜欢
      • 1970-01-01
      • 2021-10-13
      • 2010-11-14
      • 1970-01-01
      • 2014-05-10
      • 2022-01-16
      • 2019-12-09
      • 1970-01-01
      相关资源
      最近更新 更多