Windows 機能更新プログラムのプログラムによるコントロール
Windows Autopatch プログラム コントロールは、Microsoft Graph APIを通じてソフトウェア更新プログラムを承認およびスケジュールするために使用されます。 Graph SDK を介して API を直接呼び出すか、Microsoft Intuneなどの管理ツールと統合できます。
この記事では、Graph エクスプローラーを使用して、機能更新プログラムをクライアントに展開するプロセス全体について説明します。 この記事では、次の操作を行います。
この記事では、次の操作を行います。
前提条件
すべての Windows Autopatch の前提条件を満たす必要があります。
アクセス許可
この記事に記載されているクエリには、次のアクセス許可が必要です。
- Windows Autopatch 操作の WindowsUpdates.ReadWrite.All。
- デバイス情報を表示するための Device.Read.All 以上のアクセス許可。
Windows Update展開管理者などの一部のロールには、既にこれらのアクセス許可があります。
必要なエンドポイント
次のエンドポイントにアクセスできる必要があります。
- *.prod.do.dsp.mp.microsoft.com
- *.windowsupdate.com
- *.dl.delivery.mp.microsoft.com
- *.update.microsoft.com
- *.delivery.mp.microsoft.com
- tsfe.trafficshaping.dsp.mp.microsoft.com
Graph API エンドポイント:
- devicelistenerprod.microsoft.com
- login.windows.net
- payloadprod*.blob.core.windows.net
Graph エクスプローラーを開く
この記事では、Graph エクスプローラー を使用して、Microsoft Graph API に対してデータの取得、追加、削除、更新を要求します。 Graph エクスプローラー は、Microsoft Graph API について学習できる開発者ツールです。 Graph エクスプローラーの使用方法の詳細については、「Graph エクスプローラーの概要」を参照してください。
Warning
- この記事に記載されている要求では、Microsoft 365 アカウントでサインインする必要があります。 必要に応じて、Microsoft 365 Business Premiumで無料の 1 か月間試用版を利用できます。
- テスト テナントを使用してデプロイ プロセスを学習して確認することを強くお勧めします。 グラフ エクスプローラーは、学習ツールを目的としています。 続行する前に、Graph エクスプローラーの同意の付与と同意の種類を理解していることを確認してください。
ブラウザーから [Graph エクスプローラー] に移動し、Microsoft Entra ユーザー アカウントを使用してサインインします。
この記事のクエリを使用するには、
WindowsUpdates.ReadWrite.All
アクセス許可 を有効にする必要がある場合があります。 アクセス許可を有効にするには:要求を行うには:
- HTTP メソッドのドロップダウン リストから GET、POST、PUT、PATCH、または DELETE のいずれかを選択します。
- URL フィールドに要求を入力します。 バージョンは、URL に基づいて自動的に設定されます。
- 要求本文を変更する必要がある場合は、[ 要求 本文] タブを編集します。
- [ クエリの実行 ] ボタンを選択します。 結果が [応答 ] ウィンドウに表示されます。
ヒント
Microsoft Graph ドキュメントを確認すると、通常、要求の例に
content-type: application/json
が一覧表示される場合があります。 通常、Graph エクスプローラーにはcontent-type
を指定する必要はありませんが、[ヘッダー] タブを選択し、[要求ヘッダー] フィールドに [キー] としてcontent-type
を追加し、[値] としてapplication/json
を追加することで、要求に追加できます。
クエリを実行してデバイスを識別する
デバイス リソースの種類を使用して、Windows Autopatch に登録するクライアントを検索します。 特定のニーズに合わせてクエリ パラメーターを変更します。 詳細については、「 クエリ パラメーターを使用する」を参照してください。
すべてのデバイスの AzureAD デバイス ID と名前を表示します。
GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName
Test
で始まる名前を持つデバイスの AzureAD デバイス ID と名前を表示します。GET https://graph.microsoft.com/v1.0/devices?$filter=startswith(displayName,'Test')&$select=deviceid,displayName
高度なクエリの要求ヘッダーを追加する
次の要求の場合は、 ConsistencyLevel ヘッダーを eventual
に設定します。 高度なクエリ パラメーターの詳細については、「Microsoft Entra ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。
[Graph エクスプローラー] で、[要求ヘッダー] タブを選択します。
[
ConsistencyLevel
のキーの種類] と [値] に「eventual
」と入力します。[ 追加 ] ボタンを選択します。 完了したら、ごみ箱のアイコンを選択して要求ヘッダーを削除します。
AzureAD デバイス ID として
01234567-89ab-cdef-0123-456789abcdef
されているデバイスの名前とオペレーティング システムのバージョンを表示します。GET https://graph.microsoft.com/v1.0/devices?$search="deviceid:01234567-89ab-cdef-0123-456789abcdef"&$select=displayName,operatingSystemVersion
仮想マシンではない可能性があるデバイスを見つけるには、モデルとして仮想マシンが一覧表示されていないが製造元が一覧表示されているデバイスをフィルター処理します。 各 デバイスの AzureAD デバイス ID、 名前、 オペレーティング システムのバージョン を表示します。
GET https://graph.microsoft.com/v1.0/devices?$filter=model ne 'virtual machine' and NOT(manufacturer eq null)&$count=true&$select=deviceid,displayName,operatingSystemVersion
ヒント
通常、デバイス リソースの種類を使用する要求には、id
とdeviceid
の両方があります。
-
deviceid
はMicrosoft Entraデバイス ID であり、この記事で使用します。- この記事の後半では、この
deviceid
は、展開対象ユーザーにデバイスを追加するなど、特定の要求を行うときにid
として使用されます。
- この記事の後半では、この
-
デバイス リソースの種類の
id
は、通常、Microsoft Entra オブジェクト ID であり、この記事では使用しません。
デバイスの登録
デバイスを機能更新プログラム管理に登録すると、Windows Autopatch は、Windows Updateからの機能更新プログラムの権限になります。 デバイスが Windows Autopatch を使用して機能更新プログラム管理に登録されたままである限り、Windows Autopatch を使用して明示的に展開しない限り、デバイスはWindows Updateから他の機能更新プログラムを受け取りません。 デバイスがまだ更新プログラムを受け取っていない場合は、指定された機能更新プログラムが提供されます。 たとえば、Windows 11機能更新プログラムバージョン 22H2 を、機能更新プログラム管理に登録され、現在古いバージョンのWindows 11上にあるデバイスに展開すると、デバイスはバージョン 22H2 に更新されます。 デバイスがバージョン 22H2 以降を既に実行している場合は、現在のバージョンのままです。
ヒント
Windows Update for Business レポートには、デバイスの現在のオペレーティング システムバージョンを表示するブックがあります。 ブックの [ 機能の更新 ] タブに移動し、[ サービス内の機能更新] タイルで [ 詳細の表示 ] リンクを選択して詳細ポップアップを開きます。 OS のバージョンとデバイスのMicrosoft Entra IDは、デプロイ対象ユーザーを作成するときに役立つ、.csv ファイルに簡単にエクスポートしたり、Azure Monitor ログで開いたりできます。
デバイスは、受信する更新プログラムの種類に基づいて登録します。 現在、デバイスを登録して、機能更新プログラム (feature
) またはドライバー (driver
) を受信できます。 デバイスを登録して、複数の更新プログラムの分類から更新プログラムを受信できます。
- デバイスを登録するには、enrollAssets を使用して更新可能なAssets に POST します。 次の例では、ドライバーの更新プログラムを受信するために 3 つのデバイスを登録します。
Graph エクスプローラーで、HTTP 動詞のドロップダウン リストから [POST] を選択します。
URL フィールドに次の要求を入力します。
https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets
[ 要求本文 ] タブで、次の JSON を入力し、次の情報を指定します。
-
Microsoft Entraデバイス ID
id
- updateCategory の
feature
またはdriver
{ "updateCategory": "driver", "assets": [ { "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", "id": "01234567-89ab-cdef-0123-456789abcdef" }, { "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", "id": "01234567-89ab-cdef-0123-456789abcde0" }, { "@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice", "id": "01234567-89ab-cdef-0123-456789abcde1" } ] }
-
Microsoft Entraデバイス ID
[ クエリの実行 ] ボタンを選択します。 結果が [応答 ] ウィンドウに表示されます。 この場合、
202 Accepted
の HTTP 状態コード。
機能更新プログラムのカタログ エントリを一覧表示する
各機能更新プログラムは、一意の カタログ エントリに関連付けられます。 返される id
は カタログ ID であり、デプロイの作成に使用されます。 機能更新プログラムは、サポート終了日に達するまで展開できます。 詳細については、Windows 10 および Windows 11 Enterprise および Education エディションのサポート ライフサイクルの日付を参照してください。 次のクエリは、展開可能なすべての機能更新プログラム カタログ エントリを一覧表示します。
GET https://graph.microsoft.com/beta/admin/windows/updates/catalog/entries?$filter=isof('microsoft.graph.windowsUpdates.featureUpdateCatalogEntry')
次の切り捨てられた応答は、Windows 11バージョン 22H2 機能更新プログラムのd9049ddb-0ca8-4bc1-bd3c-41a456ef300f
のカタログ ID を表示します。
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/catalog/entries",
"value": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
"id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f",
"displayName": "Windows 11, version 22H2",
"deployableUntilDateTime": "2025-10-14T00:00:00Z",
"releaseDateTime": "2022-09-20T00:00:00Z",
"version": "Windows 11, version 22H2",
"buildNumber": "22621"
}
]
}
デプロイを作成する
機能更新プログラムのデプロイを作成する場合、デプロイの動作を定義するために複数のオプションを使用できます。 デプロイと監視の設定は省略可能です。 次のデプロイ設定は、Windows 11バージョン 22H2 機能更新プログラム (d9049ddb-0ca8-4bc1-bd3c-41a456ef300f
のカタログ ID) をデプロイするための要求本文の例で定義されています。
- デプロイ開始日: 2023 年 2 月 14 日午前 5 時 (UTC)
- 3 日ごとに 100 台のデバイスの割合で段階的にロールアウトする
- 5 台のデバイスが機能更新プログラムをロールバックした場合に展開を一時停止する監視ルール
- 展開内のデバイスに適用可能なすべてのセーフガードを適用する既定の セーフガード ホールド 動作
- セーフガード ホールドが明示的に定義されていない場合、既定のセーフガード ホールド動作が自動的に適用されます
POST https://graph.microsoft.com/beta/admin/windows/updates/deployments
content-type: application/json
{
"content": {
"@odata.type": "#microsoft.graph.windowsUpdates.catalogContent",
"catalogEntry": {
"@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry",
"id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f"
}
},
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"schedule": {
"startDateTime": "2023-02-14T05:00:00Z",
"gradualRollout": {
"@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
"durationBetweenOffers": "P3D",
"devicesPerOffer": "100"
}
},
"monitoring": {
"monitoringRules": [
{
"signal": "rollback",
"threshold": 5,
"action": "pauseDeployment"
}
]
}
}
}
応答本文には、次のものが含まれます。
この例で
de910e12-3456-7890-abcd-ef1234567890
新しいデプロイ ID例で
d39ad1ce-0123-4567-89ab-cdef01234567
新しい対象ユーザー IDデプロイ要求本文で定義されているすべての設定
{ "@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments/$entity", "id": "de910e12-3456-7890-abcd-ef1234567890", "createdDateTime": "2023-02-07T19:21:15.425905Z", "lastModifiedDateTime": "2023-02-07T19:21:15Z", "state": { "effectiveValue": "scheduled", "requestedValue": "none", "reasons": [] }, "content": { "@odata.type": "#microsoft.graph.windowsUpdates.catalogContent", "catalogEntry@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments('de910e12-3456-7890-abcd-ef1234567890')/content/microsoft.graph.windowsUpdates.catalogContent/catalogEntry/$entity", "catalogEntry": { "@odata.type": "#microsoft.graph.windowsUpdates.featureUpdateCatalogEntry", "id": "d9049ddb-0ca8-4bc1-bd3c-41a456ef300f", "displayName": "Windows 11, version 22H2", "deployableUntilDateTime": "2025-10-14T00:00:00Z", "releaseDateTime": "0001-01-01T00:00:00Z", "version": "Windows 11, version 22H2" } }, "settings": { "contentApplicability": null, "userExperience": null, "expedite": null, "schedule": { "startDateTime": "2023-02-14T05:00:00Z", "gradualRollout": { "@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings", "durationBetweenOffers": "P3D", "devicesPerOffer": 100 } }, "monitoring": { "monitoringRules": [ { "signal": "rollback", "threshold": 5, "action": "pauseDeployment" } ] } }, "audience@odata.context": "https://graph.microsoft.com/beta/$metadata#admin/windows/updates/deployments('de910e12-3456-7890-abcd-ef1234567890')/audience/$entity", "audience": { "id": "d39ad1ce-0123-4567-89ab-cdef01234567", "applicableContent": [] } }
デプロイを編集する
デプロイを更新するには、デプロイ ID でデプロイ リソースに PATCH を適用し、要求本文で更新された設定を指定します。 次の例では、デプロイの作成時に定義された既存の段階的ロールアウト設定を保持しますが、デプロイの開始日を 2023 年 2 月 28 日午前 5 時 (UTC) に変更します。
PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
content-type: application/json
{
"settings": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentSettings",
"schedule": {
"startDateTime": "2023-02-28T05:00:00Z",
"gradualRollout": {
"@odata.type": "#microsoft.graph.windowsUpdates.rateDrivenRolloutSettings",
"durationBetweenOffers": "P3D",
"devicesPerOffer": "100"
}
}
}
}
展開 ID がde910e12-3456-7890-abcd-ef1234567890
の展開の展開設定を確認します。
GET https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
デプロイ対象ユーザーにメンバーを追加する
対象ユーザー ID (d39ad1ce-0123-4567-89ab-cdef01234567
) は、デプロイの作成時に作成されました。
対象ユーザー ID は、デプロイ対象ユーザーにメンバーを追加するために使用されます。 展開対象ユーザーが更新されると、Windows Update展開設定に従ってデバイスへの更新プログラムの提供が開始されます。 展開が存在し、デバイスが対象ユーザーにある限り、更新プログラムが提供されます。
次の例では、各デバイスのMicrosoft Entra IDを使用して、展開対象ユーザーに 3 つのデバイスを追加します。
POST https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/updateAudience
content-type: application/json
{
"addMembers": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcdef"
},
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcde0"
},
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcde1"
}
]
}
対象ユーザーにデバイスが追加されたことを確認するには、d39ad1ce-0123-4567-89ab-cdef01234567
の対象ユーザー ID を使用して次のクエリを実行します。
GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members
デプロイを一時停止する
デプロイを一時停止するには、deploymentState にpaused
のrequestedValue
を設定するようにデプロイに PATCH を適用します。 デプロイを再開するには、 none
値を使用します。デプロイがまだ開始日に達していない場合は、状態が offering
または scheduled
に更新されます。
次の例では、 デプロイ ID がde910e12-3456-7890-abcd-ef1234567890
のデプロイを一時停止します。
PATCH https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
content-type: application/json
{
"@odata.type": "#microsoft.graph.windowsUpdates.deployment",
"state": {
"@odata.type": "microsoft.graph.windowsUpdates.deploymentState",
"requestedValue": "paused"
}
}
デプロイを削除する
デプロイを完全に削除するには、デプロイを削除します。 展開を削除すると、コンテンツがまだ受信していない場合は、デバイスにコンテンツが提供されなくなります。 コンテンツの提供を再開するには、新しい承認を作成する必要があります。
次の例では、 デプロイ ID がde910e12-3456-7890-abcd-ef1234567890
のデプロイを削除します。
DELETE https://graph.microsoft.com/beta/admin/windows/updates/deployments/de910e12-3456-7890-abcd-ef1234567890
デバイスの登録を解除する
デバイスで管理が不要になった場合は、Windows Autopatch から登録を解除します。
デバイスの登録と同様に、updateCategory
の値としてdriver
またはfeature
を指定します。 デバイスは、指定された更新プログラム カテゴリの Windows Autopatch から更新プログラムを受信しなくなります。 デバイスの構成によっては、Windows Updateから更新プログラムの受信が開始される場合があります。 たとえば、デバイスがまだ機能更新プログラムに登録されていても、ドライバーから登録解除されている場合は、次のようになります。
- サービスからの既存のドライバーデプロイはデバイスに提供されません
- デバイスは引き続き Windows Autopatch から機能更新プログラムを受け取ります
- デバイスの構成によっては、Windows Updateからドライバーのインストールが開始される場合があります
デバイスの登録を解除するには、unenrollAssets を使用して UPDATEableAssets に POST します。 要求本文で、次を指定します。
-
デバイスの
id
としてデバイス ID をMicrosoft Entraする - updateCategory の
feature
またはdriver
次の例では、01234567-89ab-cdef-0123-456789abcdef
と 01234567-89ab-cdef-0123-456789abcde0
の 2 つのデバイスのdriver
登録を削除します。
POST https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/unenrollAssets
content-type: application/json
{
"updateCategory": "driver",
"assets": [
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcdef"
},
{
"@odata.type": "#microsoft.graph.windowsUpdates.azureADDevice",
"id": "01234567-89ab-cdef-0123-456789abcde0"
}
]
}