Windows 機能更新プログラムのプログラムによるコントロール

重要

セクションの情報は、Business Premium、A3+、E3+、F3 の各ライセンスに適用されます。 詳細については、「 機能と機能」およびライセンスと権利」を参照してください。

Windows Autopatch プログラム コントロールは、Microsoft Graph APIを通じてソフトウェア更新プログラムを承認およびスケジュールするために使用されます。 Graph SDK を介して API を直接呼び出すか、Microsoft Intuneなどの管理ツールと統合できます。

この記事では、Graph エクスプローラーを使用して、機能更新プログラムをクライアントに展開するプロセス全体について説明します。 この記事では、次の操作を行います。

この記事では、次の操作を行います。

前提条件

すべての Windows Autopatch の前提条件を満たす必要があります。

アクセス許可

この記事に記載されているクエリには、次のアクセス許可が必要です。

Windows Update展開管理者などの一部のロールには、既にこれらのアクセス許可があります。

必要なエンドポイント

次のエンドポイントにアクセスできる必要があります。

エンドポイントの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 エクスプローラーの同意付与と同意の種類を理解していることを確認してください。
  1. ブラウザーから [Graph エクスプローラー] に移動し、Microsoft Entra ユーザー アカウントを使用してサインインします。

  2. この記事のクエリを使用するには、 WindowsUpdates.ReadWrite.All アクセス許可 を有効にする必要がある場合があります。 アクセス許可を有効にするには:

    1. Graph エクスプローラーの [アクセス許可の変更] タブを選択します。
    2. [アクセス許可] ダイアログ ボックスで、[ WindowsUpdates.ReadWrite.All ] アクセス許可を選択し、[同意] を選択 します。 同意を付与するには、もう一度サインインする必要がある場合があります。 Graph エクスプローラーの [アクセス許可の変更] タブのスクリーンショット
  3. 要求を行うには:

    1. HTTP メソッドのドロップダウン リストから GET、POST、PUT、PATCH、または DELETE のいずれかを選択します。
    2. URL フィールドに要求を入力します。 バージョンは、URL に基づいて自動的に設定されます。
    3. 要求本文を変更する必要がある場合は、[ 要求 本文] タブを編集します。
    4. [ クエリの実行 ] ボタンを選択します。 結果が [応答 ] ウィンドウに表示されます。

    ヒント

    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 ディレクトリ オブジェクトの高度なクエリ機能」を参照してください。

  1. [Graph エクスプローラー] で、[要求ヘッダー] タブを選択します。

  2. [ConsistencyLevelのキーの種類] と [値] に「eventual」と入力します。

  3. [ 追加 ] ボタンを選択します。 完了したら、ごみ箱のアイコンを選択して要求ヘッダーを削除します。

    Graph エクスプローラーの [要求ヘッダー] タブのスクリーンショット

  • 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
    

ヒント

通常、デバイス リソースの種類を使用する要求には、iddeviceidの両方があります。

  • deviceidMicrosoft 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) を受信できます。 デバイスを登録して、複数の更新プログラムの分類から更新プログラムを受信できます。

  1. デバイスを登録するには、enrollAssets を使用して更新可能なAssets に POST します。 次の例では、ドライバーの更新プログラムを受信するために 3 つのデバイスを登録します。
    1. Graph エクスプローラーで、HTTP 動詞のドロップダウン リストから [POST] を選択します。

    2. URL フィールドに次の要求を入力します。
      https://graph.microsoft.com/beta/admin/windows/updates/updatableAssets/enrollAssets

    3. [ 要求本文 ] タブで、次の JSON を入力し、次の情報を指定します。

      • Microsoft Entraデバイス IDid
      • 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"
          }
        ]
      }
      
    4. [ クエリの実行 ] ボタンを選択します。 結果が [応答 ] ウィンドウに表示されます。 この場合、 202 Acceptedの HTTP 状態コード。

      Graph エクスプローラーを使用して資産が正常に登録されているスクリーンショット。

機能更新プログラムのカタログ エントリを一覧表示する

各機能更新プログラムは、一意の カタログ エントリに関連付けられます。 返される 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

デプロイを一時停止する

デプロイを一時停止するには、deploymentStatepausedrequestedValueを設定するようにデプロイに 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-456789abcdef01234567-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"
    }
  ]
}