【发布时间】:2020-04-28 08:42:40
【问题描述】:
已解决
Start-Process -FilePath "C:\Program Files\OpenVPN\Uninstall.exe" -ArgumentList "/S /qn"
我的任务是在我们的 150 多个远程用户 Windows 10 机器上安装 OpenVPN-Connect-3.0.0.272。问题是之前安装的版本,OpenVPN-2.4.7-I603 没有通过命令行静默卸载;更具体地说,Powershell ISE 脚本。
- 我已尝试通过已安装的应用程序获取名称来直接卸载它:
Get-WmiObject -Class Win32_Product
但OpenVPN并未作为已安装程序出现在列表中,因此无法选择卸载。
- 我注意到在“C:\Program Files\OpenVPN\”中有一个手动运行的“Uninstall.exe”文件,所以按照这些思路思考:
msiexec.exe /x "C:\Program Files\OpenVPN\Uninstall.exe" /qn
并收到错误“无法打开此安装包。请联系应用程序供应商以验证这是一个有效的 Windows Installer 包。”
- 卸载尝试通过
Start-Process -FilePath "C:\Program Files\OpenVPN\Uninstall.exe" -ArgumentList "/s /qn"
成功启动卸载 GUI,但未启用静默模式,因此需要用户界面。
- 尝试通过在中找到的 UninstallString GUID 卸载
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\OpenVPN
只有“C:\Program Files\OpenVPN\Uninstall.exe”的值数据,而不是 GUID。
我错过了什么,所以可以静默卸载?
【问题讨论】:
标签: powershell command-line uninstallation openvpn