Windows Update for Business 展開サービスを使用して機能更新プログラムを展開する

Windows Update for Business 展開サービスは、ソフトウェア更新プログラムの承認とスケジュール設定に使用されます。 デプロイ サービスは、Microsoft Graph APIを通じてその機能を公開します。 Graph SDK を介して API を直接呼び出すか、Microsoft Intuneなどの管理ツールと統合できます。

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

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

前提条件

Windows Update for Business デプロイ サービスのすべての前提条件を満たす必要があります。

アクセス許可

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

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

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される場合があります。 content-type Graph エクスプローラーでは通常を指定する必要はありませんが、[ヘッダー] タブを選択し、[要求ヘッダー] フィールドに [キーapplication/json] と [値] として を追加することで、要求に追加content-typeできます。

クエリを実行してデバイスを識別する

デバイス リソースの種類を使用して、デプロイ サービスに登録するクライアントを検索します。 特定のニーズに合わせてクエリ パラメーターを変更します。 詳細については、「 クエリ パラメーターを使用する」を参照してください。

  • すべてのデバイスの AzureAD デバイス ID名前を表示します。

    GET https://graph.microsoft.com/v1.0/devices?$select=deviceid,displayName
    
  • で始まる名前を持つデバイスAzureAD デバイス ID と名前をTest表示します。

    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
    

ヒント

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

  • deviceidデバイス ID Microsoft Entraであり、この記事で使用されます。
    • この記事の後半では、これは deviceid 、展開対象ユーザーにデバイスを追加するなど、特定の要求を行うときの として id 使用されます。
  • idデバイス リソースの種類の は通常、Microsoft Entra オブジェクト ID です。この記事では使用しません。

デバイスの登録

デバイスを機能更新管理に登録すると、展開サービスは、Windows Updateからの機能更新プログラムの権限になります。 デバイスが展開サービスを介して機能更新管理に登録されたままである限り、展開サービスを使用して明示的にデプロイしない限り、デバイスはWindows Updateから他の機能更新プログラムを受信しません。 デバイスがまだ更新プログラムを受け取っていない場合は、指定された機能更新プログラムが提供されます。 たとえば、Windows 11機能更新プログラムバージョン 22H2 を、機能更新プログラム管理に登録され、現在古いバージョンのWindows 11上にあるデバイスに展開すると、デバイスはバージョン 22H2 に更新されます。 デバイスがバージョン 22H2 以降を既に実行している場合は、現在のバージョンのままです。

ヒント

Windows Update for Business レポートには、デバイスの現在のオペレーティング システムバージョンを表示するブックがあります。 ブックの [ 機能の更新 ] タブに移動し、[ サービス内の機能更新] タイルで [ 詳細の表示 ] リンクを選択して詳細ポップアップを開きます。 OS のバージョンとデバイスのMicrosoft Entra IDは、デプロイ対象ユーザーを作成するときに役立つ、.csv ファイルに簡単にエクスポートしたり、Azure Monitor ログで開いたりできます。

デバイスは、受信する更新プログラムの種類に基づいて登録します。 現在、デバイスを登録して、機能更新プログラム () またはドライバー (featuredriver) を受信できます。 デバイスを登録して、複数の更新プログラムの分類から更新プログラムを受信できます。

  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
      • または featuredriver updateCategory
      {
        "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. [ クエリの実行 ] ボタンを選択します。 結果が [応答 ] ウィンドウに表示されます。 この場合、HTTP 状態コードは 202 Acceptedです。

      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 機能更新プログラムの カタログ ID がd9049ddb-0ca8-4bc1-bd3c-41a456ef300f表示されます。

{
    "@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 機能更新プログラム (カタログ ID) をデプロイするための要求本文のd9049ddb-0ca8-4bc1-bd3c-41a456ef300f例で定義されています。

  • デプロイ開始日: 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"
                }
            ]
        }
    }
}

応答本文には、次のものが含まれます。

  • この例の新しいデプロイ IDde910e12-3456-7890-abcd-ef1234567890

  • この例の新しい対象ユーザー IDd39ad1ce-0123-4567-89ab-cdef01234567

  • デプロイ要求本文で定義されているすべての設定

    {
         "@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"
            }
        }
    }
}

デプロイ IDde910e12-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"
    }
  ]
}

対象ユーザーにデバイスが追加されたことを確認するには、 の 対象ユーザー ID を使用して次の d39ad1ce-0123-4567-89ab-cdef01234567クエリを実行します。

GET https://graph.microsoft.com/beta/admin/windows/updates/deploymentAudiences/d39ad1ce-0123-4567-89ab-cdef01234567/members

デプロイを一時停止する

デプロイを一時停止するには、deploymentState の を持つrequestedValuepausedデプロイに PATCH を適用します。 デプロイを再開するには、値noneを使用し、状態が にofferingscheduled更新されるか、デプロイがまだ開始日に達していない場合に更新されます。

次の例では、 デプロイ 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

デバイスの登録を解除する

デバイスで管理が不要になった場合は、展開サービスから登録を解除します。 デバイスの登録と同様に、 の値として または feature を指定driverしますupdateCategory。 デバイスは、指定された更新カテゴリの展開サービスから更新プログラムを受信しなくなります。 デバイスの構成によっては、Windows Updateから更新プログラムの受信が開始される場合があります。 たとえば、デバイスがまだ機能更新プログラムに登録されていても、ドライバーから登録解除されている場合は、次のようになります。

  • サービスからの既存のドライバーデプロイはデバイスに提供されません
  • デバイスは引き続きデプロイ サービスから機能更新プログラムを受け取ります
  • デバイスの構成によっては、Windows Updateからドライバーのインストールが開始される場合があります

デバイスの登録を解除するには、unenrollAssets を使用して UPDATEableAssets に POST します。 要求本文で、次を指定します。

  • Microsoft Entra デバイスの場合と同様idにデバイス ID
  • または featuredriver updateCategory

次の例では、 01234567-89ab-cdef-0123-456789abcdef 2 つのデバイスと の登録を01234567-89ab-cdef-0123-456789abcde0削除します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"
    }
  ]
}