Powershell 为什么WMIC在尝试卸载时给了我无效的查询?
我正在尝试通过PowerShell卸载常规程序,我尝试在Powershell 为什么WMIC在尝试卸载时给了我无效的查询?,powershell,windows-10,wmic,Powershell,Windows 10,Wmic,我正在尝试通过PowerShell卸载常规程序,我尝试在name=“program name”部分中放入的所有内容似乎都失败了 我一直在学习如何做这件事 我已经尝试删除谷歌浏览器作为我的测试示例。其实我并不想删除它,只是一个可以轻松快速重新安装的测试目标 我在另一台装有谷歌浏览器的机器上做了第一次测试,但没有出现在这个列表中。它也有这个错误。但现在我在我的主机上进行了测试,Google Chrome确实出现在列表中 PS C:\WINDOWS\system32>wmic产品获取名称 微软Visu
name=“program name”
部分中放入的所有内容似乎都失败了
我一直在学习如何做这件事
我已经尝试删除谷歌浏览器作为我的测试示例。其实我并不想删除它,只是一个可以轻松快速重新安装的测试目标
我在另一台装有谷歌浏览器的机器上做了第一次测试,但没有出现在这个列表中。它也有这个错误。但现在我在我的主机上进行了测试,Google Chrome确实出现在列表中
PS C:\WINDOWS\system32>wmic产品获取名称
微软Visual C++ 2010 X64可重新分配-10 0.40219
微软Visual C++ 2010 X86可重新分配-10 0.40219
Microsoft Visual Studio 2010 Office运行时工具(x64)
谷歌浏览器
谷歌更新助手
Microsoft SQL Server 2008本机客户端
PS C:\WINDOWS\system32>wmic产品,其中name=“Google Chrome”调用卸载
错误:
Description=无效查询
一些不相关的product get name
条目已被删除,以保持列表简短
我希望WMIC卸载该程序,但我得到的是上面发现的错误。WMIC命令要求在引号内使用筛选器:
WMIC产品,其中“name='Google Chrome'”
Powershell还公开了Get-WMIObject cmdlet(别名gwmi
),该cmdlet具有更清晰的语法:
$chrome = gwmi win32_product -filter "name='Google Chrome'"
$chrome.Uninstall
您也可以尝试使用包命令
get-package *chrome* | uninstall-package -whatif
试试这个
wmic product where "name like 'Google Chrome'" call uninstall
use '' on program name and "" on name
您是否查看过chrome.exe中的-uninstall开关?其他的.exe可能也有一个。如果有必要,我会这样做,但Chrome不是我真正的目标(真正的目标是一些HP膨胀软件),而且即使它是我真正目标的一部分,它也不是唯一的一个。直接访问chrome.exe的问题是,我需要为每个程序列出一个目录。起初我认为这很完美,太快就点击了accept answer,哈哈。但遗憾的是,这似乎不起作用。至少它没有像WMIC那样丢失条目。它成功地找到了chrome软件包,使用-whatif它确实检测到chrome及其版本,但是在删除-whatif后,它实际上并没有卸载chrome。是的,我现在已经尝试了几个程序,包括VLC、Notepad++和7-zip。它们都没有被卸载,它们仍然存在,重新运行时显示在
get packge
列表中,并且可以启动。测试了您的确切代码(复制粘贴,没有输入错误),并且似乎没有任何作用。没有输出,没有错误,Chrome仍然安装。这是否像js2010一样对MSI有一些偏好?