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이란?를 참조하세요.

  1. Power BI Desktop의 리본에서 데이터 가져오기를 선택하고 OData 피드를 선택합니다.

  2. URL의 경우 관리 서비스 라우트를 지정하십시오. 예를 들면 https://smsprovider.contoso.com/AdminService/wmi/

  3. Windows 인증을 선택합니다.

  4. 탐색기 창에서 Power BI dashboard 또는 보고서에서 사용할 항목을 선택합니다.

Power BI Desktop의 탐색기 창 스크린샷

예제 쿼리

특정 장치에 대한 자세한 정보 가져오기

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 매개 변수와 value 1를 사용하는 SMS_AdminClass에서 GetAdminExtendedData 메서드를 호출합니다.

Verb: Post
URI: https://<ProviderFQDN>/AdminService/wmi/SMS_Admin.GetAdminExtendedData
Body: {"Type":1}

다음 단계

장치에 대한 사용자 지정 속성