Configuration Managerで管理サービスを使用する方法

Configuration Manager (現在のブランチ) に適用

Configuration Managerでは、いくつかのネイティブ シナリオで管理サービス REST API を使用します。 独自のカスタム シナリオに管理サービスを使用することもできます。

注:

この記事の例では、すべて SMS プロバイダー ロールをホストするサーバーの FQDN を使用します。 CMG を介して管理サービスにリモートでアクセスする場合は、SMS プロバイダー FQDN ではなく CMG エンドポイントを使用します。 詳細については、「 インターネット アクセスを有効にする」を参照してください。

直接クエリ

管理サービスに対して直接クエリを実行する方法はいくつかあります。

  • Web ブラウザー
  • PowerShell
  • HTTPS GET 要求または PUT 要求を Web サービスに送信するサード パーティ製ツール

次のセクションでは、最初の 2 つの方法について説明します。

重要

管理サービス クラス名では、大文字と小文字が区別されます。 適切な大文字と小文字を使用してください。 たとえば、「 SMS_Site 」のように入力します。

Web ブラウザー

Web ブラウザーを使用すると、管理サービスのクエリを簡単に実行できます。 ブラウザーの URL としてクエリ URI を指定すると、管理サービスによって GET 要求が処理され、結果が JSON 形式で返されます。 一部の Web ブラウザーでは、読みやすい形式で結果が表示されない場合があります。

PowerShell

Windows PowerShell コマンドレット Invoke-RestMethod を使用して、このサービスに直接呼び出します。

例:

Invoke-RestMethod -Method 'Get' -Uri "https://SMSProviderFQDN/AdminService/wmi/SMS_Site" -UseDefaultCredentials

このコマンドは、次の出力を返します。

@odata.context                                                value
--------------                                                -----
https://SMSProviderFQDN/AdminService/wmi/$metadata#SMS_Site   {@{@odata.etag=FC1; __LAZYPROPERTIES=System.Objec...

次の例では、より具体的な値にドリルダウンします。

((Invoke-RestMethod -Method 'Get' -Uri "https://SMSProviderFQDN/AdminService/wmi/SMS_Site" -UseDefaultCredentials).value).Version

このコマンドの出力は、サイトの特定のバージョンです。 5.00.8968.1000

タスク シーケンスから PowerShell を呼び出す

PowerShell スクリプトの Invoke-RestMethod コマンドレットは、 PowerShell スクリプトの実行タスク シーケンス ステップから使用できます。 このアクションを使用すると、タスク シーケンス中に管理サービスにクエリを実行できます。

詳細については、「 タスク シーケンスの手順 - PowerShell スクリプトの実行」を参照してください。

Power BI Desktop

Power BI Desktopを使用して、管理サービスを介してConfiguration Manager内のデータに対してクエリを実行できます。 詳細については、「Power BI Desktopとは」を参照してください。

  1. Power BI Desktopで、リボンの [データの取得] を選択し、[OData フィード] を選択します。

  2. URL には、管理サービス ルートを指定します。 たとえば、https://smsprovider.contoso.com/AdminService/wmi/ のように指定します。

  3. [ Windows 認証] を選択します

  4. [ ナビゲーター ] ウィンドウで、Power BI ダッシュボードまたはレポートで使用する項目を選択します。

Power BI Desktopの [ナビゲーター] ウィンドウのスクリーンショット

クエリの例

特定のデバイスの詳細を取得する

https://<ProviderFQDN>/AdminService/wmi/SMS_R_System(<ResourceID>)

例: https://smsprovider.contoso.com/AdminService/wmi/SMS_R_System(16777219)

v1 デバイス クラスの例

  • すべてのデバイスを取得する: https://<ProviderFQDN>/AdminService/v1.0/Device

  • 単一のデバイスを取得する: https://<ProviderFQDN>/AdminService/v1.0/Device(<ResourceID>)

  • デバイスで CMPivot を実行します。

    Verb: POST
    URI: https://<ProviderFQDN>/AdminService/v1.0/Device(<ResourceID>)/AdminService.RunCMPivot
    Body: {"InputQuery":"<CMPivot query to run>"}
    
  • CMPivot ジョブの結果を参照してください。

    Verb: GET
    URI: https://<ProviderFQDN>/AdminService/v1.0/Device(<ResourceID>)/AdminService.CMPivotResult(OperationId=<Operation ID of the CM Pivot job>)
    
  • デバイスが属するコレクションを確認します。 https://<ProviderFQDN>/AdminService/v1.0/Device(16777219)/ResourceCollectionMembership?$expand=Collection&$select=Collection

startswith を使用して結果をフィルター処理する

この URI の例では、名前が で All始まるコレクションのみが表示されます。

https://<ProviderFQDN>/AdminService/wmi/SMS_Collection?$filter=startswith(Name,'All') eq true

静的 WMI メソッドを実行する

次の使用例は、値 1を指定して Type という名前のパラメーターを受け取るSMS_AdminClassGetAdminExtendedData メソッドを呼び出します。

Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}

次の手順

デバイスのカスタム プロパティ