如何在 Configuration Manager 中使用系統管理服務
適用於:Configuration Manager (目前的分支)
Configuration Manager會在數個原生案例中使用管理服務 REST API。 您也可以將系統管理服務用於您自己的自訂案例。
注意事項
本文中的範例全都使用裝載 SMS 提供者角色之伺服器的 FQDN。 如果您透過 CMG 從遠端存取管理服務,請使用 CMG 端點,而不是 SMS 提供者 FQDN。 如需詳細資訊,請參閱 啟用網際網路存取。
直接查詢
有數種方式可讓您直接查詢系統管理服務:
- 網頁瀏覽器
- PowerShell
- 將 HTTPS GET 或 PUT 要求傳送至 Web 服務的協力廠商工具
下一節涵蓋前兩種方法。
重要事項
系統管理服務類別名稱會區分大小寫。 請務必使用適當的大寫。 例如,SMS_Site
。
網頁瀏覽器
您可以使用網頁瀏覽器輕鬆地查詢系統管理服務。 當您將查詢 URI 指定為瀏覽器的 URL 時,系統管理服務會處理 GET 要求,並以 JSON 格式傳回結果。 某些網頁瀏覽器可能無法以易於閱讀的格式顯示結果。
PowerShell
使用 Windows PowerShell Cmdlet 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 腳本工作順序步驟,在 PowerShell 腳本中使用Invoke-RestMethod Cmdlet。 此動作可讓您在工作順序期間查詢系統管理服務。
如需詳細資訊,請 參閱工作順序步驟 - 執行 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 方法
此範例會在採用名為Type且值 1
為 之參數的SMS_AdminClass上叫用GetAdminExtendedData方法。
Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}