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

如何在PowerShell中过滤Windows可用更新,排除安全智能更新

如何过滤Windows可用更新列表中的特定项?

你可以通过两种方式实现过滤不需要的更新的需求,下面分别给出具体修改方案:

方法一:在搜索阶段直接过滤(效率更高)

直接修改Search方法的查询条件,加入排除特定标题的规则,系统在搜索更新时就会直接忽略符合排除条件的项,无需后续处理。

修改后的完整代码:

$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = $UpdateSession.CreateupdateSearcher()
# 在查询条件中添加排除规则,过滤掉标题包含指定内容的更新
$searchQuery = "IsHidden=0 and IsInstalled=0 and AutoSelectOnWebSites = 1 and not Title contains 'Security Intelligence Update for Microsoft Defender Antivirus'"
$Updates = @($UpdateSearcher.Search($searchQuery).Updates)
$Updates.Title

方法二:获取结果后再过滤(更灵活)

如果需要更复杂的过滤逻辑,或者不确定具体关键词,可以先获取所有更新,再用Where-Object筛选掉不需要的项。

修改后的完整代码:

$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateSearcher = $UpdateSession.CreateupdateSearcher()
$Updates = @($UpdateSearcher.Search("IsHidden=0 and IsInstalled=0 and AutoSelectOnWebSites = 1").Updates)
# 过滤掉标题匹配指定关键词的更新
$filteredUpdates = $Updates | Where-Object { $_.Title -notmatch 'Security Intelligence Update for Microsoft Defender Antivirus' }
$filteredUpdates.Title

补充说明

  • 若要过滤多个不同类型的更新,可以扩展过滤规则:
    • 方法一中用and not Title contains '关键词1' and not Title contains '关键词2'
    • 方法二中用$_.Title -notmatch '关键词1|关键词2'(通过正则匹配多个关键词)
  • 也可以根据更新的KB编号精准过滤,比如方法二中用$_.KBArticleIDs -notcontains 'KB2267602'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:05:28