我正在尝试通过 PowerShell 卸载常规程序,而我尝试放入
name="program name"
部分的所有内容似乎都失败了。
我已按照此处的指南了解如何操作。
我尝试删除 Google Chrome 作为我的测试示例。它实际上并不是我想要删除的,只是一个我可以轻松快速地重新安装的测试目标。
我首先在另一台装有 Google Chrome 的机器上进行了测试,但没有出现在这个列表中。也出现了这个错误。但现在我在我的主机上进行了测试,Google Chrome 确实出现在列表中。
PS C:\WINDOWS\system32> wmic product get name Name
Microsoft Visual C++ 2010 x64 Redistributable - 10.0.40219
Microsoft Visual C++ 2010 x86 Redistributable - 10.0.40219
Microsoft Visual Studio 2010 Tools for Office Runtime (x64)
Google Chrome
Google Update Helper
Microsoft SQL Server 2008 Native Client
PS C:\WINDOWS\system32> wmic product where name="Google Chrome" call uninstall
ERROR:
Description = Invalid query
一些不相关的
product get name
条目已被删除,以保持列表简短。
我希望 WMIC 卸载该程序,但我却收到上面发现的错误。
WMIC 命令需要将过滤器放在引号内:
wmic product where "name='Google Chrome'"
Powershell 还公开了具有更清晰语法的 Get-WMIObject cmdlet(别名
gwmi
):
$chrome = gwmi win32_product -filter "name='Google Chrome'"
$chrome.Uninstall
试试这个
wmic product where "name like 'Google Chrome'" call uninstall
use '' on program name and "" on name
您也可以尝试软件包命令,仅适用于 msi 安装,无论如何,这是所有 wmic 产品都可以使用的。
get-package *chrome* | uninstall-package -whatif
或者您只需要一组额外的引号:
wmic product where 'name="Google Chrome"' call uninstall