
かつて山市良と呼ばれたおじさんのブログ
セイテクエンジニアのブログ かつて山市良と呼ばれたおじさんのブログ メモ. Windowsの更新プログラムに関するお勧めリンク集&Microsoft Graphスクリプトサンプル
2025年08月27日配信
2025年08月27日更新
執筆者:山内 和朗
Windows IT Pro Blogに7月9日にアップされた“あなたのWindowsリリース情報ツールボックス(Your Windows release information toolbox)”というタイトルのブログポストには、既に利用可能な、Windowsの更新プログラムに関する最新で詳細な情報へのリンクが解説付きで紹介されています。
Your Windows release information toolbox|Windows IT Pro Blog(Tech Community)
Windows IT Pro Blogのブログポストは分量が多く、目的のリンクを探し出すのが難しいかもしれません(画面1)。そこで、大きな見出しごとにリンクを抜粋しました。ブラウザーのお気に入りにブックマーク(登録)して、定期的にチェックすることをお勧めします。なお、リンク先は自動的に日本語サイト(/ja-jp)にリダイレクトされることがありますが、最新情報は英語サイト(/en-us)で確認することをお勧めします。
画面1 Windows IT Pro Blogにポストされた“あなたのWindowsリリース情報ツールボックス(Your Windows release information toolbox)”
Windowsのリリースの正常性|Windows(Microsoft Learn)
Windows 11 リリース情報|Windows(Microsoft Learn)
Microsoft 365 管理センター(admin.microsoft.com) ※テナント管理者としてサインインが必要
Windowsのリリースの正常性|Microsoft 365 管理センター(admin.microsoft.com) ※テナント管理者としてサインインが必要
Windows known issues and product lifecycle in Graph API|Windows IT Pro Blog(Tech Community)
Windows 11 のホットパッチ カレンダー|Windows(Microsoft Learn)
Windows 11 バージョン 24H2 Enterprise クライアントでのホットパッチのリリースノート|サポート(Microsoft)
Windows 11での継続的なイノベーションの実現|サポート(Microsoft)
Windows Roadmap|Windows Update for Business(Microsoft)
Windows IT Pro Blog(Tech Community)
Windows Server News and Best Practices Blog(Tech Community)
@WindowsUpdate(X)
@MSWindowsITPro(X)
Windows Update(Bluesky)
Windows IT Pro(LinkedIn)
New feature: Sign up for Windows known issue email alerts|Windows IT Pro Blog(Tech Community)
フィードバック Hub|Windows(Microsoft Learn)
セーフガードホールド|Windows(Microsoft Learn)
このブログの以下の回で紹介したように、Windows 10/11 Enterprise E3以上(またはEducation A3以上)のライセンスがある場合、Microsoft 365管理センターの「正常性」で「Windowsのリリースの正常性」(※テナント管理者《管理者ロールのあるID》としてサインインが必要)が利用可能になります。このページは、一般向けの「Windowsのリリースの正常性」ページ(一般に公開)の拡張版であり、2025年5月からは電子メールによる通知機能が利用可能になりました(画面2)。また、Windows IT Pro Blogで説明されているように、Microsoft 365管理センターの「Windowsのリリースの正常性」ページの情報には、Microsoft Graph REST APIを使用して取得することもできます。
画面2 Microsoft 365管理センターの拡張版「Windowsのリリースの情報」ページ。ステータスの変化を電子メールで通知することも可能(ユーザー設定で製品を選択してメールアドレスを設定)
Microsoft 365管理センターの「Windowsのリリースの正常性」ページの情報を、Microsoft Graph REST APIを使用して、PowerShellスクリプトから取得する方法をすこし調べてみました。以下の2つのBeta APIを使用することで可能なことがわかりました。なお、Beta版のAPI(/beta)は、変更される可能性があることに留意してください。ここで示すコマンドラインやスクリプトは、参考程度と考えてください。
product resource type|Microsoft Graph(Microsoft Learn)
knownIssue resource type|Microsoft Graph(Microsoft Learn)
ここでは、Microsoft.Graphモジュールがインストール済みであり(インストール方法については以下を参照)、Microsoft 365管理センターにテナント管理者でアクセスすることで、「正常性|Windowsのリリースの正常性」ページが利用可能である(Windows 10/11 Enterprise E3などのライセンス要件あり)ことを前提として説明します。
Install the Microsoft Graph PowerShell SDK|Microsoft Graph(Microsoft Learn)
はじめに、PowerShellウィンドウで次のコマンドラインを実行して、product resource type APIから製品名を識別するIDを取得します。Connect-MgGraphコマンドレットの実行時、Microsoft 365管理センターにアクセスするためのEntra IDの資格情報が要求され(多要素認証《MFA》によるサインイン)、必要に応じてアクセス許可を付与する管理者の承認(同意)が必要です。
Connect-MgGraph -Scopes "WindowsUpdates.ReadWrite.All" $response = Invoke-MgGraphRequest -Method GET ` $products = $response.value |
実行結果として、以下のようなIDと製品名の一覧を取得できます。
product id product name ---------- ------------ |
次に、製品のIDを指定して、既知の問題の一覧を取得します。例えば、Windows Server 2025(製品ID 2101)の既知の一覧を取得するには、次のコマンドラインを実行します。
#Connect-MgGraph -Scopes "WindowsUpdates.ReadWrite.All" $product_id = "2101" #Windows Server 2025 |
実行結果として、次のような一覧を取得できます。
Title : WSUS update and sync operation fail with timeout errors |
次のPowerShellスクリプト「getknownissues.ps1」は、上記の方法で製品の一覧を取得し、IDを入力することで、特定の製品の既知の問題の一覧を出力するスクリプトです。このスクリプトは、一度のアクセス認証(Connect-MGGraph)で繰り返しループして実行できるようになっています。また、既知の問題のステータスの強調表示(例: resolved《解決済み》、resolvedExternal《解決済みの外部の問題》、confirmed《確認済み》、mitigated《軽減》)や、7日以内に更新された情報の強調表示(例: 2025/07/09 23:51:53)を行うようにしてあります(画面3、画面4)。
[getknownissues.ps1](プレーンテキストで表示)
Connect-MgGraph -Scopes "WindowsUpdates.ReadWrite.All" -NoWelcome
$response = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/admin/windows/updates/products"
$products = $response.value
while ($true) {
Write-Host ""
Write-Host ("{0,-12} {1,-30}" -f "product id", "product name")
Write-Host ("{0,-12} {1,-30}" -f "----------", "------------")
$products | ForEach-Object {
Write-Host ("{0,-12} {1,-30}" -f $_.id, $_.name)
}
$targetid = Read-Host "`nEnter product id (or type 'exit' to quit)"
if ($targetid -eq "exit") { break }
$targetname = ""
foreach ($product in $products) {
if ($product.id -eq $targetid) {
$targetname = $product.name
break
}
}
if ($targetname -ne "") {
Write-Host "`n$targetname known issues and notifications`n"
} else {
Write-Host "Incorrect ID.`n"
continue
}
$response = Invoke-MgGraphRequest -Method GET -Uri "https://graph.microsoft.com/beta/admin/windows/updates/products/$targetid/knownIssues"
$issues = $response.value
if ($issues.Count -gt 0) {
$issues | ForEach-Object {
Write-Host "Title : $($_.title)"
Write-Host "Status : " -NoNewLine
if ($_.status -match 'resolved') {
Write-Host $_.status -ForegroundColor Green
} elseif ($_.status -match 'confirmed') {
Write-Host $_.status -ForegroundColor Red
} elseif ($_.status -match 'mitigated') {
Write-Host $_.status -ForegroundColor Yellow
} else {
Write-Host $_.status -ForegroundColor Gray
}
Write-Host "Description : $($_.description)"
Write-Host "URL : $($_.webViewUrl)"
Write-Host "Updated : " -NoNewLine
if ($_.lastUpdatedDateTime -lt (Get-Date).AddDays(-7)) {
Write-Host $_.lastUpdatedDateTime -ForegroundColor Gray
} else {
Write-Host $_.lastUpdatedDateTime -ForegroundColor Cyan
}
Write-Host ""
}
} else {
Write-Host "There is no known issues.`n"
}
$targetid = Read-Host "`nEnter to continue (or type 'exit' to quit)"
if ($targetid -eq "exit") { break }
}
DisConnect-MGGraph
画面3 PowerShellスクリプト「getknownissues.ps1」を実行すると、製品の一覧が表示されるので、既知の問題を確認したい製品のIDを入力する
画面4 既知の問題のステータスや新しい情報(7日以内に更新)を色分けして強調表示
おまけとして、すべての製品を対象に過去72時間に更新された既知の問題を一覧表示するスクリプト作成してみました(画面5)。
画面5 過去72時間に更新された情報を一覧表示する「getknownissuesin72h.ps1」(プレーンテキストで表示)
Microsoft Graph関連の記事:
vol.58 はじめてのMicrosoft Graph|Azure&Entra IDスクリプト大作戦(5)
vol.59 いきなりのMicrosoft Graph REST API|Azure&Entra IDスクリプト(6)
vol.104 検出/修復スクリプトの出力をMicrosoft Graphで取得する|はじめてのIntune(15)