微软 CVRF API

问题描述

我注意到,从 2021 年 2 月 9 日开始, Microsoft Security Response Center删除CVRF API注册要求。

这可能是一种以编程方式识别、下载和应​​用安全更新以及配置完整补丁系统的好方法

在这种情况下,我试图确定给定 Windows 版本(例如 20H2)的最新累积更新,以便稍后下载 来自 Microsoft Update Catalog,缺少适当的 API。

目前,我只想解析调用

curl -X GET --header 'Accept: application/json' 'https://api.msrc.microsoft.com/cvrf/v2.0/cvrf/2021-Feb'          

有没有更具体、更可靠的方法

解决方法

我还没有找到解析 JSON 输出的简单方法。然而,这种作品:

$product = "Windows 10"
$version = "20H2"
 
$raw = Invoke-WebRequest 'https://api.msrc.microsoft.com/cvrf/v2.0/cvrf/2021-feb' -Headers @{"accept"="application/json"}
$json = $raw.Content | ConvertFrom-Json
$search = "$product*$version*x64-based*"
$prd = $json.ProductTree.Branch[0].Items.Items | where{$_.Value -like $search}
$prdID = $prd.ProductID
($prd | Out-String) | Write-Host
$json.Vulnerability.Remediations | where{$_.ProductID -eq $prdID} |
  %{echo $_.URL} | Sort-Object | Get-Unique | Select -Last 1