我有以下Powershell脚本,我正在使用该脚本获取Google Chrome的卸载字符串,然后我要以静默方式将其卸载。脚本中的第3行将弹出GUI卸载程序(因此到目前为止,似乎一切都正确),但是如果我在参数列表中添加“ / qn”或“ / quiet”,则卸载似乎不会在全部,即使我让它坐了几个小时。我想念什么?
$AppName = "Google Chrome"
$Chrome = Get-ChildItem -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall, HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall | Get-ItemProperty | Where-Object {$_.DisplayName -match $($AppName)}
Start-Process -Wait -FilePath MsiExec.exe -Argumentlist "/X",$Chrome.UninstallString.TrimStart("MsiExec.exe /X")
感谢您的帮助,
安德鲁
如果是msi,则可以使用uninstall-package:
get-package *chrome* | uninstall-package -whatif
而不是尝试使用/ X并删除/ X和其他东西,请尝试以下操作
# Get the key to uninstall
$chromeUninstall = $Chrome.Pspath.Split("\")[-1]
Start-Process -Wait -FilePath MsiExec.exe -Argumentlist "/X $ChromeUninstall /quiet /norestart"
或更简单的是,
Start-Process -Wait cmd.exe -ArgumentList "/c msiexec /X $ChromeUninstall /quiet /norestart"
[/c
-执行由字符串指定的命令,然后终止]
注
在我的系统上,我得到两个卸载字符串。您可能需要考虑使用[0]