かつて山市良と呼ばれたおじさんのブログ

セイテクエンジニアのブログ  かつて山市良と呼ばれたおじさんのブログ  メモ. Windowsの更新プログラムに関するお勧めリンク集&Microsoft Graphスクリプトサンプル

 

 

メモ. 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)”
画面1 Windows IT Pro Blogにポストされた“あなたのWindowsリリース情報ツールボックス(Your Windows release information toolbox)”

 

最初の目的地: Windowsリリースの正常性

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ロードマップ

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のリリースの情報」ページ。ステータスの変化を電子メールで通知することも可能(ユーザー設定で製品を選択してメールアドレスを設定)
画面2 Microsoft 365管理センターの拡張版「Windowsのリリースの情報」ページ。ステータスの変化を電子メールで通知することも可能(ユーザー設定で製品を選択してメールアドレスを設定)

 

Microsoft Graph APIで既知の問題のステータスを取得する

 

 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 `
      -Uri "https://graph.microsoft.com/beta/admin/windows/updates/products"

$products = $response.value
$products | Select  @{Name = "product id"; Expression = { $_.id } }, `
      @{Name = "product name"; Expression = { $_.name } }

 

 実行結果として、以下のようなIDと製品名の一覧を取得できます。

product id product name

---------- ------------
904        Windows Server 2008 SP2
1002       Windows 10, version 22H2
...
1104       Windows 11, version 24H2
2101       Windows Server 2025

 

 次に、製品のIDを指定して、既知の問題の一覧を取得します。例えば、Windows Server 2025(製品ID 2101)の既知の一覧を取得するには、次のコマンドラインを実行します。

#Connect-MgGraph -Scopes "WindowsUpdates.ReadWrite.All"

$product_id = "2101" #Windows Server 2025
$response = Invoke-MgGraphRequest -Method GET `
    -Uri "https://graph.microsoft.com/beta/admin/windows/updates/products/$product_id/knownIssues"
$issues = $response.value
$issues | Select @{Name = "Title"; Expression = { $_.title } }, @{Name = "Status"; Expression = { $_.status } }, `
    @{Name = "Description"; Expression = { $_.description } }, @{Name = "URL"; Expression = { $_.webViewUrl } }, `
    @{Name = "Updated"; Expression = { $_.lastUpdatedDateTime } }

 

 実行結果として、次のような一覧を取得できます。

Title       : WSUS update and sync operation fail with timeout errors
Status      : resolved
Description : These operations are frequently configured to occur automatically. Server-side repairs are in progress.
URL         : https://admin.microsoft.com/Adminportal/Home?source=applauncher#/windowsreleasehealth/:/issue/WI1112360
Updated     : 2025/07/09 23:52:01

Title       : Windows Server 2022 and Server 2019 unexpectedly upgraded to Windows Server 2025
Status      : mitigated
Description : This issue has been mitigated. It was observed when updates were managed through some third-party applications.
URL         : https://admin.microsoft.com/Adminportal/Home?source=applauncher#/windowsreleasehealth/:/issue/WI929660
Updated     : 2024/11/14 20:12:27
...


 次の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を入力する
画面3 PowerShellスクリプト「getknownissues.ps1」を実行すると、製品の一覧が表示されるので、既知の問題を確認したい製品のIDを入力する

 

画面4 既知の問題のステータスや新しい情報(7日以内に更新)を色分けして強調表示
画面4 既知の問題のステータスや新しい情報(7日以内に更新)を色分けして強調表示

 

 おまけとして、すべての製品を対象に過去72時間に更新された既知の問題を一覧表示するスクリプト作成してみました(画面5)。

 

画面5 過去72時間に更新された情報を一覧表示する「getknownissuesin72h.ps1」

画面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)

 

blog_yamanxworld_subscribe

blog_yamanxworld_comment

blog_yamanxworld_WP_ws2025

最新記事