【问题标题】:WUA API unable to find updateWUA API 找不到更新
【发布时间】:2017-12-07 05:23:14
【问题描述】:

代码示例:

$UpdateSession = New-Object -ComObject 'Microsoft.Update.Session'

$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
$Updates = $UpdateSearcher.Search('IsInstalled=1')

$Updates | Where-Object { $_.Title -like '*KB2506143*' }

我正在尝试以编程方式卸载 WMF3,但在尝试使用 wusa.exe 时不断出错,

wusa /uninstall /kb:2506143 /quiet /norestart /log:C:\log.evt

CbsClient::CbsClient.00110: 创建 CBS 会话实例失败
CbsClient::CbsClient.00127:退出,错误代码为 0X80040154(类未注册)
UninstallWorker.00664:搜索开始
CbsClient::OpenPackageByKB.00268: CBS 会话未初始化。
CbsClient::OpenPackageByKB.00320:退出,错误代码为 0X8000ffff(灾难性故障)
UninstallWorker.00667:失败:针对 KB2506143 的 OpenPackageByKB()
UninstallWorker.00799:退出并显示错误代码 0X8000ffff(灾难性故障)
RebootIfRequested.01446:未安排重启。 IsRunWizardStarted:0,IsRebootRequired:0,RestartMode:1
由于错误 2147549183“灾难性故障”(命令行:“C:\windows\System32\wusa.exe /uninstall /kb:2506143 /quiet /norestart /log:C:\log.evt”),无法卸载 Windows 更新
wWinMain.01962: 卸载更新失败;错误:0X8000ffff,灾难性故障。命令行:C:\windows\System32\wusa.exe /uninstall /kb:2506143 /quiet /norestart /log:C:\log.evt
wWinMain.01998:退出并返回错误代码 0X8000ffff(灾难性故障)

所以我正在使用 WUA API。上面的代码 sn-p 给了我一个$Null 返回,但我可以使用Get-Hotfix -ID KB2506143Get-WmiObject -Class Win32_QuickFixEngineering -Filter 'HotFixID="KB2506143"' 来查找更新。

This question 类似,但在找到补丁后尝试卸载补丁时访问被拒绝,而我的问题是:我首先如何找到补丁?

我不确定补丁是如何应用的,所以如果我找到它后遇到同样的问题,我至少有that resolution

【问题讨论】:

    标签: windows powershell windows-server-2008 patch wuapi


    【解决方案1】:

    所以这一切的目的是以编程方式升级到 WMF5.1,我找到了一个解决方法来解决我想要完成的任务。 PowerShell v3 在构建过程中使用 DISM 在操作系统中启用,并且无法被 WUA 删除,因为 WUA 没有将其放置在那里。


    解决方法 1:

    dism.exe /Online /Disable-Feature:MicrosoftWindowsPowerShellV3
    

    这会将$PSVersionTable 降级为v2,但不会删除补丁KB2506143。这导致仍然需要通过 UI 手动卸载它,所以它并没有真正完成我的需要。


    解决方法 2:

    WMF3 不能升级到 WMF5,但是可以升级到 WMF4,然后是 WMF5(.1)。

    最终,我使用wusa.exe 在 WMF3 上安装了 WMF4,同时仍然在 dism 中禁用了 v3,并且在重新启动后成功地在 WMF4 上安装了 WMF5.1(再次使用wusa.exe)。

    该限制源于 WUA 无法管理未安装的补丁(通过 .msu 或 WSUS)

    【讨论】:

      猜你喜欢
      • 2015-02-04
      • 2016-12-20
      • 1970-01-01
      • 1970-01-01
      • 2019-08-09
      • 2019-07-19
      • 1970-01-01
      • 2022-12-09
      • 1970-01-01
      相关资源
      最近更新 更多