最近我删除了我的 Office 2016,但我的电脑仍然有很多 Office 更新补丁。
由此问题的回答,我学会了使用 Windows Update API 命令来搜索现有的 Office 更新补丁。在花了大量时间之后,我找不到任何可行的 Windows Update API 卸载命令。那么在找到所有现有的 Office 更新补丁后,如何执行卸载步骤呢?
答案1
尝试完全删除 Office(控制面板、程序和功能)。这样一来,Office 更新就会消失(对我来说,在所有机器上都是如此)。
答案2
下面的 PowerShell 脚本改编自这篇文章
PowerShell:如何查找和卸载 MS Office 更新。
我还没有测试过,所以我建议至少在尝试之前创建一个系统还原点,并在注释掉执行实际卸载的命令时仔细调试它:$Installer.Uninstall()
以及它后面的命令。
$Session = New-Object -ComObject Microsoft.Update.Session
$Collection = New-Object -ComObject Microsoft.Update.UpdateColl
$Installer = $Session.CreateUpdateInstaller()
$Searcher = $Session.CreateUpdateSearcher()
$Searcher.QueryHistory(0, $Searcher.GetTotalHistoryCount()) |
Where-Object { $_.Title -match 'Update for Microsoft Office' } |
ForEach-Object {
Write-Verbose "Found update history entry $($_.Title)"
$SearchResult = $Searcher.Search("UpdateID='$($_.UpdateIdentity.UpdateID)' and RevisionNumber=$($_.UpdateIdentity.RevisionNumber)")
Write-Verbose "Found $($SearchResult.Updates.Count) update entries"
if ($SearchResult.Updates.Count -gt 0) {
$Installer.Updates = $SearchResult.Updates
$Installer.Uninstall()
$Installer | Select-Object -Property ResultCode, RebootRequired, Exception
# result codes: http://technet.microsoft.com/en-us/library/cc720442(WS.10).aspx
}
}