You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WSUS PowerShell脚本:取消已拒绝更新审批失败求助

WSUS取消已拒绝更新审批的PowerShell实现方案

问题背景

你需要自动处理WSUS中被取代更新的审批逻辑:循环为每个被取代更新查找有效取代项,找到后拒绝该被取代更新;当未拒绝更新中找不到取代项时,需取消已拒绝更新的审批。此前尝试的PowerShell命令因参数或重载问题报错,通过Procmon监控发现GUI的操作逻辑是:先将已拒绝更新部署到「未分配计算机」组,随即删除该部署,以此实现取消审批的效果。

解决方案代码

以下是对应GUI操作逻辑的PowerShell实现,包含完整的WSUS连接、目标组获取及审批取消步骤:

# 1. 连接WSUS服务器(根据实际环境调整服务器名和端口)
$wsusServer = Get-WsusServer -Name "WSUS-SERVER" -PortNumber 8530

# 2. 获取「未分配计算机」目标组
$unassignedGroup = $wsusServer.GetComputerTargetGroups() | Where-Object { $_.Name -eq "未分配计算机" }

# 3. 定位需要取消审批的已拒绝更新(替换为你脚本中的实际查找逻辑)
$targetUpdate = $wsusServer.GetUpdates() | Where-Object {
    $_.IsDeclined -eq $true -and $_.Title -match "目标更新标题关键字"
}

# 4. 执行GUI对应的两步操作:先部署到未分配组,再删除部署
if ($targetUpdate -and $unassignedGroup) {
    # 第一步:将更新审批到未分配计算机组,审批状态设为未批准
    Approve-WsusUpdate -Update $targetUpdate -Action Unapproved -TargetGroup $unassignedGroup

    # 第二步:移除该更新在未分配计算机组的审批
    Remove-WsusUpdateApproval -Update $targetUpdate -TargetGroup $unassignedGroup

    Write-Host "已成功取消更新 '$($targetUpdate.Title)' 的审批"
} else {
    Write-Host "未找到目标更新或未分配计算机组"
}

代码说明

  • 连接WSUS服务器时,需根据实际环境修改服务器名和端口(默认WSUS端口为8530/8531)。
  • Approve-WsusUpdate指定-Action Unapproved并关联「未分配计算机」组,对应GUI中第一步的部署操作;随后用Remove-WsusUpdateApproval移除该组的审批,对应GUI中删除部署的动作,以此绕过直接修改已拒绝更新审批状态的限制。
  • 将$targetUpdate的获取逻辑替换为你脚本中定位已拒绝取代更新的代码,即可无缝集成到原有逻辑中。

内容的提问来源于stack exchange,提问作者Livarkhal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:20:14