Configuration Manager 관리 서비스를 사용하는 방법
적용 대상: Configuration Manager(현재 분기)
Configuration Manager 몇 가지 네이티브 시나리오에서 관리 서비스 REST API를 사용합니다. 사용자 지정 시나리오에 관리 서비스를 사용할 수도 있습니다.
참고
이 문서의 예제에서는 모두 SMS 공급자 역할을 호스트하는 서버의 FQDN을 사용합니다. CMG를 통해 원격으로 관리 서비스에 액세스하는 경우 SMS 공급자 FQDN 대신 CMG 엔드포인트를 사용합니다. 자세한 내용은 인터넷 액세스 사용을 참조하세요.
직접 쿼리
관리 서비스를 직접 쿼리할 수 있는 방법에는 여러 가지가 있습니다.
- 웹 브라우저
- PowerShell
- 웹 서비스에 HTTPS GET 또는 PUT 요청을 보내는 타사 도구
다음 섹션에서는 처음 두 가지 방법을 다룹니다.
중요
관리 서비스 클래스 이름은 대/소문자를 구분합니다. 적절한 대문자를 사용해야 합니다. 예를 들면 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 메서드 실행
이 예제에서는 값1
이 인 Type이라는 매개 변수를 사용하는 SMS_AdminClassGetAdminExtendedData 메서드를 호출합니다.
Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}