首页 > 解决方案 > Powershell:导出应用程序列表

问题描述

我想要一种不干涉的方法来获取系统上安装的所有应用程序的列表。搜索将我带到了许多在此页面上使用Get-ItemProperty 网站

我很快发现我可以将列表导出为 txt 文件以便以后访问。

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize > C:\Users\username\Documents\InstalledPrograms-PS.txt

*用户名是占位符

然而,我发现,我可以在将它直接粘贴到 powershell 时运行它,但是当将它放入脚本时,它会崩溃或根本不运行。

我假设我遗漏了一些东西,直接复制和粘贴将不起作用。

任何帮助,将不胜感激。

注意:我确定有人一定会推荐WMIC,但这似乎并未列出所有应用程序。

更新:似乎在我的脚本中

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*

对自己的作品就好了。当格式化发生时,它会崩溃。


解决方案:

对于任何希望获得一种简单快捷的方法来获取所有应用程序列表的人,包括微软商店的应用程序,这就是我所做的。我只是让它们导出到 .txt 文件以供以后保存。

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table > c:\applist.txt

微软商店应用

Get-AppxPackage | Select Name, PackageFullName |Format-Table -AutoSize > c:\microsoftlist.txt

标签: listpowershell

解决方案


它对我有用,尽管 emacs 说 AutoSize 之前的“-”是一个外来字符。\226 它可能是 unicode 破折号,8211 十进制: https ://www.fileformat.info/info/unicode/char/2013/index.htm 常规破折号是 45。

[int][char]'–'

8211

顺便说一句,还有get-package列出已安装的应用程序。


推荐阅读