使用powershell卸载exe软件
Posted
技术标签:
【中文标题】使用powershell卸载exe软件【英文标题】:Uninstall a exe software using powershell 【发布时间】:2019-01-19 00:57:38 【问题描述】:我正在关注this thread 从我的 Windows 10 系统中卸载 mozilla firefox。
我最初使用 exe 安装程序安装了 mozilla firefox,但没有得到执行 gwmi -Class Win32_Product
的 mozilla 条目。
有什么方法可以在我的 Windows 系统上触发该软件的卸载程序?
注意:我不能为此目的使用 msi 安装程序。
【问题讨论】:
【参考方案1】:如果你跑了
Get-ChildItem HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\ | ? $_ -match "Firefox"
它将UninstallString
显示为:
C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe
您应该能够运行它来删除 Firefox。使用/s
开关运行静默卸载。
类似的东西:
'"C:\Program Files (x86)\Mozilla Firefox\uninstall\helper.exe /s"' | cmd
【讨论】:
专业提示:如果您使用正斜杠,它在 Windows 上效果很好,并且在 *** 上也能更好地突出显示。 这个答案的第一步会生成一个哈希表,我们被要求从中找到一个值并在第二步中手动使用它。如果通过管道传递答案的第一步以选择卸载可执行文件的路径,然后通过管道传递以执行卸载,则可以改进此答案,所有这些都在一个命令或脚本中。【参考方案2】:使用架构差异添加修改后的工作代码
$x86App = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*' | ? $_ -match "Firefox"
$x64App = Get-ChildItem 'HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' | ? $_ -match "Firefox"
if ($x86App)
$UninstallPath = ($x86App |Get-ItemProperty).UninstallString
Start-Process -NoNewWindow -FilePath $UninstallPath -ArgumentList " /s"
elseif($x64App)
$UninstallPath = ($x64App |Get-ItemProperty).UninstallString
Start-Process -NoNewWindow -FilePath $UninstallPath -ArgumentList " /s"
【讨论】:
我想你可能有这些倒退。 我在这里找不到 Python 3.6。如果我通过将“Python”替换为“Firefox”来将其用于 Python,则它不起作用。我错过了什么吗?以上是关于使用powershell卸载exe软件的主要内容,如果未能解决你的问题,请参考以下文章
想要使用PowerShell将不同的字符串分成多个部分的通用方法