我们使用以下找到的at this link命令来尝试获取Windows中已安装程序的完整列表:
Get-WmiObject -Class Win32_Product
但是,与“控制面板”中的已安装程序列表相比,该列表给出了已安装程序的不完整列表。
我们的初衷是拥有一个可以交互并最终自动卸载计算机上安装的bloatware的脚本。但是,上面的命令缺少一些我们也希望卸载的命令。
还有另外一个Class
我们可以调查以获取完整列表吗?还是完全可以使用另一个命令?
任何见解都受到赞赏
答案 0 :(得分:2)
与Get-Package
类相比,Win32_Product
cmdlet提供的信息更多。这是Windows 10系统上两者之间的区别:
PS C:\> Get-WmiObject -Class Win32_Product | Where-Object Name -Match TOSHIBA | Format-Table
IdentifyingNumber Name Vendor Version Caption
----------------- ---- ------ ------- -------
{1E6A96A1-2BAB-43EF-8087-30437593C66C} TOSHIBA System Driver Toshiba Corporation 2.00.0005 TOSHIBA System Driver
{1515F5E3-29EA-4CD1-A981-032D88880F09} TOSHIBA Audio Enhancement Toshiba Corporation 3.0.0.9 TOSHIBA Audio Enhancement
{716C8275-A4A9-48CB-88C0-9829334CA3C5} Toshiba Quality Application TOSHIBA 1.0.9.7 Toshiba Quality Application
{E4C7D9D7-19D4-4623-AF0C-EA313C466411} Toshiba TEMPRO Toshiba Europe GmbH 5.0.0 Toshiba TEMPRO
{72EFCFA8-3923-451D-AF52-7CE9D87BC2A1} TOSHIBA eco Utility Toshiba Corporation 3.0.1.6403 TOSHIBA eco Utility
{B040D5C9-C9AA-430A-A44E-696656012E61} TOSHIBA System Settings Toshiba Corporation 3.0.3.6400 TOSHIBA System Settings
{0B39C39A-3ECE-4582-9C91-842D22819A24} TOSHIBA Display Utility Toshiba Corporation 2.0.1.0 TOSHIBA Display Utility
{EDC626BA-3E59-44C4-96B4-9066E29BF600} TOSHIBA Service Station Toshiba Corporation 3.1.0.2 TOSHIBA Service Station
{26BB68BB-CF93-4A12-BC6D-A3B6F53AC8D9} TOSHIBA Password Utility Toshiba Corporation 8.1.1.0 TOSHIBA Password Utility
{B507386D-1F61-4E55-B05B-F56ACB0086B3} TOSHIBA PC Health Monitor Toshiba Corporation 5.01.02.6400 TOSHIBA PC Health Monitor
这包括额外的条目。您应该能够看到它包含来自Programs
提供程序以及msi
提供程序的条目。
PS C:\> Get-Package *TOSHIBA*
Name Version Source ProviderName
---- ------- ------ ------------
TOSHIBA System Driver 2.0.5 C:\Program Files (x86)\TOSHIB... msi
TOSHIBA Audio Enhancement 3.0.0.9 C:\Program Files\TOSHIBA\TOSH... msi
Toshiba Quality Application 1.0.9.7 C:\Program Files (x86)\Toshib... msi
Toshiba TEMPRO 5.0.0 C:\Program Files (x86)\Toshib... msi
TOSHIBA eco Utility 3.0.1.6403 C:\Program Files\TOSHIBA\Teco\ msi
TOSHIBA System Settings 3.0.3.6400 C:\Program Files\TOSHIBA\Syst... msi
TOSHIBA Display Utility 2.0.1.0 C:\Program Files\Toshiba\TOSH... msi
TOSHIBA Service Station 3.1.0.2 msi
TOSHIBA Password Utility 8.1.1.0 C:\Program Files\Toshiba\Pass... msi
TOSHIBA Password Utility 8.1.1.0 Programs
TOSHIBA PC Health Monitor 5.1.2.6400 C:\Program Files\TOSHIBA\TPHM\ msi
TOSHIBA Manuals 10.20 Programs
TOSHIBA Recovery Media Creator 3.3.00.8003 Programs
实际上,从Programs
提供商处删除软件包要比一开始听起来困难。那里的条目通常会有一个卸载命令或一个安静的卸载命令,但不能保证。对于存在安静的卸载字符串的情况,则可以执行以下操作:
function Uninstall-Program($Package) {
$Command = foreach ($i in (0..($Package.Meta.Attributes.Keys.Count - 1))) {
if ($Package.Meta.Attributes.Keys[$i] -eq 'QuietUninstallString') {
$Package.Meta.Attributes.Values[$i]
}
}
Invoke-Expression "& $Command"
}
然后您可以通过以下方式卸载:
$Package = Get-Package "botframework-emulator"
Uninstall-Program $Package