如何在 Configuration Manager 中使用管理服务
适用于: Configuration Manager(current branch)
Configuration Manager在多种本机方案中使用管理服务 REST API。 还可以将管理服务用于自己的自定义方案。
注意
本文中的示例都使用托管 SMS 提供程序角色的服务器 FQDN。 如果通过 CMG 远程访问管理服务,请使用 CMG 终结点而不是 SMS 提供程序 FQDN。 有关详细信息,请参阅 启用 Internet 访问。
直接查询
可通过多种方式直接查询管理服务:
- Web 浏览器
- PowerShell
- 用于向 Web 服务发送 HTTPS GET 或 PUT 请求的第三方工具
后续部分介绍前两种方法。
重要
管理服务类名称区分大小写。 请确保使用正确的大写。 例如,SMS_Site
。
Web 浏览器
可以使用 Web 浏览器轻松查询管理服务。 将查询 URI 指定为浏览器的 URL 时,管理服务将处理 GET 请求,并返回 JSON 格式的结果。 某些 Web 浏览器可能无法以易于阅读的格式显示结果。
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的参数的 SMS_AdminClass上调用 GetAdminExtendedData 方法,其参数值为 1
。
Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}