使用PowerShell一句话获取已安装软件列表

  假如有人问你:“你机子上都装了什么软件啊?”,你该怎么回答?一个个都回忆着讲出来?Too young!借助第三方软件?Too simple!Windows自己就能搞定,当然了,控制面板里的“卸载程序”列表不全面。有PowerShell呢,一句话即可。

PowerShell获取已安装软件列表

  使用下面这条命令即可获取当前系统已安装软件的完整列表

Get-WmiObject -Class Win32_Product

powershell-pure
  如果想只显示软件名称,加一个筛选条件即可

Get-WmiObject -Class Win32_Product | Select-Object -Property Name

powershell-select
  如果想看着更友好,可以按名称排序

Get-WmiObject -Class Win32_Product | Select-Object -Property Name | Sort-Object -Property Name

powershell-select-and-sort
  如果想将结果输出到文件中,可以使用管道(>)

Get-WmiObject -Class Win32_Product | Select-Object -Property Name | Sort-Object -Property Name > C:\PCApp.txt

powershell-output
  更方便的是,你如果有两台机器,还可以使用PowerShell比较已安装软件的异同

Compare-Object -ReferenceObject (Get-Content C:\PCApp.txt) -DifferenceObject (Get-Content C:\NBApp.txt)

powershell-different
提示:结果中箭头朝左的是PC中有而NoteBook中没有,箭头朝右的是NoteBook中有而PC中没有的。

更多命令、技巧,可以自行摸索。

有人爱: 醉倚黄昏
有事做: https://zyhh.me/windows/powershell-get-app-list.html
有所期待: 一个有雨有肉的夜晚,和你没头没尾分一瓶酒。
评论 (12)
  1. # 1
    什么值得买 2013-06-21 16:00

    看看,学习了

  2. # 2
    小草元 2013-06-24 00:44

    总听说这货,原来是这么用的。和那个什么cmd有点像呀。

  3. # 3
    软件有料 2013-06-24 22:01

    长知识了。。。

  4. # 4
    tiandi 2013-06-25 05:35

    这货有点高级了。

  5. # 5
    大漠孤鹰997 2013-07-01 06:00

    文章不错 ,欢迎互踩 哈哈

  6. # 6
    silverxp 2014-01-13 04:44

    是挺好用的,但是已安装软件没有完整显示出来啊,有些在appwiz.cpl中列出的软件显示不出来。

    • 醉倚黄昏 2014-01-14 08:05 @
      @silverxp @silverxp : 这个可能是跟获取方式不同有关吧。或者某些软件特殊处理的?
  7. # 7
    121 2020-09-07 05:53

    您好怎么对结果进行筛选呀 自动排除微软的软件

    • Zzz 2020-09-10 11:41 @
      @121 加一个条件 【 | where {$_.Vendor -notlike "*Microsoft*"} 】