我有这个脚本工作一次从注册表中卸载Office 2013但现在它不能工作

时间:2017-11-22 19:56:42

标签: powershell powershell-v3.0

$uninstall32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#$uninstall64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#if ($uninstall64) {
#$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
#$uninstall64 = $uninstall64.Trim()
#Write "Uninstalling..."
#start-process "msiexec.exe" -arg "/X $uninstall64 /quiet" -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 /quiet" -Wait}

但是现在当我运行它时,我得到卸载32部分的命令行开关。不知道发生了什么变化,但很好的是它摆脱了所有的Microsoft Office 2013 plus,现在我必须依靠配置配置文件来卸载它。

2 个答案:

答案 0 :(得分:0)

根据奥拉夫的评论,目前你获得了32位的卸载的reg值,但是你不做任何其他事情,因为#的评论全部都没有。对于系统而言,所有这些行都是空白的。

使用你的代码,如果你修改它,它至少会做一些事情:

$uninstall32 = gci "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#$uninstall64 = gci "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" | foreach { gp $_.PSPath } | ? { $_ -match "Microsoft Office Professional Plus 2013" } | select UninstallString

#if ($uninstall64) {
#$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
#$uninstall64 = $uninstall64.Trim()
#Write "Uninstalling..."
#start-process "msiexec.exe" -arg "/X $uninstall64 /quiet" -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 /quiet" -Wait

这只会进行32位卸载。

答案 1 :(得分:0)

使用带有正确参数的SilentUninstallconfig.xml是到目前为止卸载Office 2013的唯一方法。