为什么 WMIC 在尝试卸载时给出无效查询?

问题描述 投票:0回答:3

我正在尝试通过 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 卸载该程序,但我却收到上面发现的错误。

powershell windows-10 wmic
3个回答
1
投票

WMIC 命令需要将过滤器放在引号内:

wmic product where "name='Google Chrome'"

Powershell 还公开了具有更清晰语法的 Get-WMIObject cmdlet(别名

gwmi
):

$chrome = gwmi win32_product -filter "name='Google Chrome'"
$chrome.Uninstall

1
投票

试试这个

wmic product where "name like 'Google Chrome'" call uninstall

use '' on program name and "" on name

1
投票

您也可以尝试软件包命令,仅适用于 msi 安装,无论如何,这是所有 wmic 产品都可以使用的。

get-package *chrome* | uninstall-package -whatif

或者您只需要一组额外的引号:

wmic product where 'name="Google Chrome"' call uninstall
© www.soinside.com 2019 - 2024. All rights reserved.