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とは」を参照してください。
Power BI Desktopで、リボンの [データの取得] を選択し、[OData フィード] を選択します。
URL には、管理サービス ルートを指定します。 たとえば、
https://smsprovider.contoso.com/AdminService/wmi/
のように指定します。[ Windows 認証] を選択します。
[ ナビゲーター ] ウィンドウで、Power BI ダッシュボードまたはレポートで使用する項目を選択します。
クエリの例
特定のデバイスの詳細を取得する
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_AdminClassで GetAdminExtendedData メソッドを呼び出します。
Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}