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

优化Windows Server 2016/2019的SCCM补丁自动安装查询

SCCM自动补丁安装集合查询优化

原逻辑与问题

  • 原查询筛选系统安装时间处于4-72小时内的Windows Server 2016/2019服务器,加入自动补丁安装集合
  • 痛点:部分网络差的站点无法在72小时窗口内完成补丁安装,需优化逻辑,排除已在系统安装后成功安装过补丁的服务器(不延长时间窗口)

优化后的查询语句

select 
    SMS_R_SYSTEM.ResourceID,
    SMS_R_SYSTEM.ResourceType,
    SMS_R_SYSTEM.Name,
    SMS_R_SYSTEM.SMSUniqueIdentifier,
    SMS_R_SYSTEM.ResourceDomainORWorkgroup,
    SMS_R_SYSTEM.Client 
from SMS_R_System     
inner join SMS_G_System_OPERATING_SYSTEM 
    on SMS_G_System_OPERATING_SYSTEM.ResourceID = SMS_R_System.ResourceId    
where     
    -- 保留原时间窗口筛选:系统安装后4-72小时内
    DATEDIFF(HH, SMS_G_System_OPERATING_SYSTEM.InstallDate, GETDATE()) <= 72 
    AND DATEDIFF(HH, SMS_G_System_OPERATING_SYSTEM.InstallDate, GETDATE()) >= 4
    -- 排除系统安装后已安装过补丁的服务器
    AND SMS_R_System.ResourceID NOT IN (
        SELECT arp.ResourceID
        FROM SMS_G_System_ADD_REMOVE_PROGRAMS arp
        WHERE 
            -- 识别补丁类程序(可根据实际环境调整)
            (arp.DisplayName LIKE '%KB%' OR arp.Publisher = 'Microsoft Corporation')
            AND arp.InstallDate > SMS_G_System_OPERATING_SYSTEM.InstallDate
    )

关键逻辑说明

  • 通过关联SMS_G_System_ADD_REMOVE_PROGRAMS视图获取服务器已安装的程序记录,筛选出微软发布的KB补丁
  • 子查询找出所有补丁安装时间晚于系统安装时间的服务器ID,主查询用NOT IN排除这些服务器
  • 仅保留系统安装后未安装过任何补丁的服务器,确保需要补打的服务器留在集合中,已完成补丁安装的自动排除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 06:32:41