適用於:Configuration Manager (目前的分支)
Configuration Manager 在數個原生案例中使用系統管理服務 REST API。 您也可以針對自己的自訂案例使用管理服務。
注意事項
本文中的範例都使用主控簡訊提供者角色之伺服器的 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 方法
此範例會在SMS_AdminClass上叫用 GetAdminExtendedData 方法,該方法採用名為 Type 的參數與值1。
Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}