使用PowerShell卸载Office 2007

问题描述:

我正尝试通过使用Get-WmiObject -Class Win32_Product获取IdentifyingNumber来编写卸载Microsoft Office 2007 Enterprise的脚本。我可以获取IdentifyingNumber,但是当我尝试卸载PowerShell时会输出一些我不确定该怎么处理的信息。这不是使用Uninstall()的正确方法吗?使用PowerShell卸载Office 2007

$2k7 = Get-WmiObject -Class Win32_Product | Where-Object { $_.IdentifyingNumber -match "{90120000-0030-0000-0000-0000000FF1CE}" } 

if ($2k7 -ne $null) { 
    $2k7.Uninstall() 
} 
else { 
    write-host "nothing to see here" 
} 

输出...

__GENUS   : 2 
__CLASS   : __PARAMETERS 
__SUPERCLASS  : 
__DYNASTY  : __PARAMETERS 
__RELPATH  : 
__PROPERTY_COUNT : 1 
__DERIVATION  : {} 
__SERVER   : 
__NAMESPACE  : 
__PATH   : 
ReturnValue  : 1603 
+0

1603表示发生了致命错误。你应该可以使用'.Uninstall'。我想知道为什么它不工作还有另一个原因。如果在同一个脚本中尝试'msiexec.exe/x {90120000-0030-0000-0000-0000000FF1CE}/quiet'会发生什么情况?我会想象你有另一个不是脚本错误的问题。 – Matt 2014-09-19 13:41:44

+0

以前,当我尝试调用msiexec/x时,它将弹出msiexec帮助框,指示/ x或/ uninstall标志出现问题。然而,现在做它似乎工作。谢谢你的帮助! – 2014-09-19 14:36:47

错误1603是使用Microsoft安装程序遇到意外故障时,一个包罗万象的错误。

我会验证您是否使用提升的权限运行Powershell窗口,并且您打算卸载的程序没有任何当前正在运行的进程。