如何使用PowerShell卸载应用程序?

是否有一种简单的方法可以使用PowerShell来挂接标准的“ 添加或删除程序 ”功能以卸载现有应用程序?还是检查应用程序是否已安装?



素胚勾勒不出你
浏览 1963回答 3
3回答

守着星空守着你

多年来,这个答案已经获得了不少好评。我想补充一些意见。从那时起我就没有使用过PowerShell,但是我记得观察到一些问题:如果以下脚本的匹配项多于1,则它将不起作用,您必须附加将结果限制为1的PowerShell过滤器。我相信可以,-First 1但不确定。随时编辑。如果MSI未安装该应用程序,则该应用程序将无法运行。编写它的原因如下,这是因为它修改了MSI以在没有干预的情况下进行卸载,这在使用本机卸载字符串时并不总是默认情况。使用WMI对象需要花费很多时间。如果您只知道要卸载的程序的名称,这将非常快。$uninstall32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "SOFTWARE NAME" } | select UninstallString$uninstall64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "SOFTWARE NAME" } | select UninstallStringif ($uninstall64) {$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""$uninstall64 = $uninstall64.Trim()Write "Uninstalling..."start-process "msiexec.exe" -arg "/X $uninstall64 /qb" -Wait}if ($uninstall32) {$uninstall32 = $uninstall32.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""$uninstall32 = $uninstall32.Trim()Write "Uninstalling..."start-process "msiexec.exe" -arg "/X $uninstall32 /qb" -Wait}
打开App,查看更多内容
随时随地看视频慕课网APP