我正在尝试查询 Windows 10 上的准确 Windows 更新信息
使用旧的“Microsoft.Update.Session”方法,数据与 Windows 更新 UI(“设置”->“更新”)中的内容不匹配。
我得到了相同的结果更新程序,即它仍然与UI不匹配。
举例来说,UI 显示:
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 月)的信息,但是,由于这些更新是累积的,因此只有最新的更新才重要,因此当前安装的更新仅列出当前累积更新。
也许更清楚的是......历史记录将包括安装失败的更新事件,而根据定义,当前安装的更新永远不会列出失败的更新。
我不知道历史记录存储在哪里,但如果找到它,我会仔细考虑并更新这个答案。