通过 MDM 更新 CSP 查询 Windows 更新

通过 MDM 更新 CSP 查询 Windows 更新

我正在尝试查询 Windows 10 上的准确 Windows 更新信息

使用旧的“Microsoft.Update.Session”方法,数据与 Windows 更新 UI(“设置”->“更新”)中的内容不匹配。

我得到了相同的结果更新程序,即它仍然与UI不匹配。

举例来说,UI 显示:

Windows 更新用户界面

PSWindowsUpdate 显示(与我的应用程序匹配):

PS C:\Windows\system32> get-wulist -IsInstalled

ComputerName Status     KB          Size Title
------------ ------     --          ---- -----
ALFRETON-... -DI----    KB925673     2MB MSXML 6.0 RTM Security Update  (925673)
ALFRETON-... -DI----    KB4052623    5MB Update for Windows Defender Antivirus antimalware platform - KB4052623 (Version 4.18.2001.10)
ALFRETON-... -DI----                22MB Windows Subsystem for Linux Update - 5.4.72
ALFRETON-... -DI----    KB890830    34MB Windows Malicious Software Removal Tool x64 - v5.91 (KB890830)
ALFRETON-... -DI----    KB4052623    6MB Update for Microsoft Defender Antivirus antimalware platform - KB4052623 (Version 4.18.2106.6)
ALFRETON-... -DI----    KB2267602  804MB Security Intelligence Update for Microsoft Defender Antivirus - KB2267602 (Version 1.343.1110.0)
ALFRETON-... --I----    KB4023057    3MB 2021-06 Update for Windows 10 Version 21H1 for x64-based Systems (KB4023057)
ALFRETON-... -DI----    KB5004237  103GB 2021-07 Cumulative Update for Windows 10 Version 21H1 for x64-based Systems (KB5004237)

我的想法是尝试使用更新 CSP在 MDM 中,因为我很幸运,Windows 10 中的 MDM 界面比其他任何东西都好。

但是,当使用 MDM 桥时,查询端点不返回任何内容:

=====================================
CLASS    : MDM_DeviceUpdateCenter_Enrollment01 
=====================================
=====================================
CLASS    : MDM_Policy_Config01_Update02 
=====================================
=====================================
CLASS    : MDM_Policy_Result01_Update02 
=====================================


ActiveHoursEnd                                         : 17
ActiveHoursMaxRange                                    : 18
ActiveHoursStart                                       : 8
AllowAutoUpdate                                        : 6
AllowAutoWindowsUpdateDownloadOverMeteredNetwork       : 0
AllowMUUpdateService                                   : 0
AllowNonMicrosoftSignedUpdate                          : 1
AllowUpdateService                                     : 1
AutomaticMaintenanceWakeUp                             : 1
AutoRestartDeadlinePeriodInDays                        : 7
AutoRestartDeadlinePeriodInDaysForFeatureUpdates       : 7
AutoRestartNotificationSchedule                        : 15
AutoRestartRequiredNotificationDismissal               : 1
BranchReadinessLevel                                   : 16
ConfigureDeadlineForFeatureUpdates                     : 7
ConfigureDeadlineForQualityUpdates                     : 7
ConfigureDeadlineGracePeriod                           : 2
ConfigureDeadlineGracePeriodForFeatureUpdates          : 2
ConfigureDeadlineNoAutoReboot                          : 0
ConfigureFeatureUpdateUninstallPeriod                  : 10
DeferFeatureUpdatesPeriodInDays                        : 0
DeferQualityUpdatesPeriodInDays                        : 0
DeferUpdatePeriod                                      : 0
DeferUpgradePeriod                                     : 0
DetectionFrequency                                     : 22
DisableDualScan                                        : 0
DoNotEnforceEnterpriseTLSCertPinningForUpdateDetection : 0
EngagedRestartDeadline                                 : 14
EngagedRestartDeadlineForFeatureUpdates                : 14
EngagedRestartSnoozeSchedule                           : 3
EngagedRestartSnoozeScheduleForFeatureUpdates          : 3
EngagedRestartTransitionSchedule                       : 7
EngagedRestartTransitionScheduleForFeatureUpdates      : 7
ExcludeWUDriversInQualityUpdate                        : 0
FillEmptyContentUrls                                   : 0
IgnoreMOAppDownloadLimit                               : 0
IgnoreMOUpdateDownloadLimit                            : 0
InstanceID                                             : Update
ManagePreviewBuilds                                    : 3
ParentID                                               : ./Vendor/MSFT/Policy/Result
PauseDeferrals                                         : 0
PauseFeatureUpdates                                    : 0
PauseFeatureUpdatesStartTime                           : 
PauseQualityUpdates                                    : 0
PauseQualityUpdatesStartTime                           : 
PhoneUpdateRestrictions                                : 4
RequireDeferUpgrade                                    : 0
RequireUpdateApproval                                  : 0
ScheduledInstallDay                                    : 0
ScheduledInstallEveryWeek                              : 1
ScheduledInstallFirstWeek                              : 0
ScheduledInstallFourthWeek                             : 0
ScheduledInstallSecondWeek                             : 0
ScheduledInstallThirdWeek                              : 0
ScheduledInstallTime                                   : 3
ScheduleImminentRestartWarning                         : 15
ScheduleRestartWarning                                 : 4
SetAutoRestartNotificationDisable                      : 0
SetDisablePauseUXAccess                                : 0
SetDisableUXWUAccess                                   : 0
SetEDURestart                                          : 0
SetProxyBehaviorForUpdateDetection                     : 0
TargetReleaseVersion                                   : 
UpdateNotificationLevel                                : 0
UpdateServiceUrl                                       : CorpWSUS
UpdateServiceUrlAlternate                              : 



=====================================
CLASS    : MDM_Update 
=====================================
=====================================
CLASS    : MDM_Update_ApprovedUpdates01_01 
=====================================
=====================================
CLASS    : MDM_Update_FailedUpdates01_01 
=====================================
=====================================
CLASS    : MDM_Update_InstallableUpdates01_01 
=====================================
=====================================
CLASS    : MDM_Update_PendingRebootUpdates01_01 
=====================================
=====================================
CLASS    : MDM_Update_Rollback01 
=====================================

使用此脚本获取:

param( [string]$OutFile = "c:\temp\winupdate_debug.txt")
[string]$computer = $env:COMPUTERNAME
[string]$namespace = "ROOT\CIMV2\mdm\dmmap"

[string[]]$classnames = @("MDM_DeviceUpdateCenter_Enrollment01", "MDM_Policy_Config01_Update02", "MDM_Policy_Result01_Update02", "MDM_Update", "MDM_Update_ApprovedUpdates01_01", "MDM_Update_FailedUpdates01_01"
,"MDM_Update_InstallableUpdates01_01", "MDM_Update_PendingRebootUpdates01_01", "MDM_Update_Rollback01")

$Error.Clear()

$ErrorActionPreference = "Stop"

    
foreach ($classname in $classnames) {

        try {

            "====================================="  | Out-file $OutFile  -Force -Append -Encoding ascii
            "CLASS    : $classname " | Out-file $OutFile  -Force -Append -Encoding ascii
            "=====================================" | Out-file $OutFile  -Force -Append -Encoding ascii
 
            Get-WmiObject -Class $classname -Namespace $namespace `
             |Select-Object * -ExcludeProperty PSComputerName, Scope, Path, Options, ClassPath, Properties, SystemProperties, Qualifiers, Site, Container `
             | Format-List -Property [a-z]* | Out-file $OutFile  -Force -Append -Encoding ascii
             }
        catch [System.Management.ManagementException] {
            # ignore - class not found because it is not populated
             
        }
        catch {
            $Error[0] 
            $Error[0].Exception.GetType().fullname | fl * | Out-file $OutFile  -Force -Append -Encoding ascii
        }
    }

为什么 MDM 端点没有返回任何数据?

或者,有人知道为什么 Windows 更新结果与 UI 不匹配?

答案1

这些不会匹配,因为它们是两种不同的东西。

当前安装的 Windows 更新不等于之前安装的所有 Windows 更新的历史记录。

具体来说,您将看到历史记录包含 4 个累积更新(5 月、6 月、7 月、7 月)的信息,但是,由于这些更新是累积的,因此只有最新的更新才重要,因此当前安装的更新仅列出当前累积更新。

也许更清楚的是......历史记录将包括安装失败的更新事件,而根据定义,当前安装的更新永远不会列出失败的更新。

我不知道历史记录存储在哪里,但如果找到它,我会仔细考虑并更新这个答案。

相关内容