구성 관리자 프로그래밍 시작

Configuration Manager에 대한 프로그래밍을 시작하려면 Configuration Manager에 대한 기본적인 기능 및 아키텍처를 이해하는 것이 좋습니다. 또한 솔루션의 유효성을 검사하고 문제를 해결하는 데 중요한 여러 주요 도구와 리소스가 있습니다. 다음은 Configuration Manager 프로그래밍을 처음 접하는 사용자를 위한 팁과 리소스입니다.

중요

이전의 SMS(Systems Management Server)였던 Configuration Manager는 제품으로서 꽤 오랜 역사를 가지고 있습니다. 네임스페이스, 클래스, 메서드, 속성 및 로그 파일을 검토할 때 "SMS"를 포함하는 많은 참조를 찾을 수 있습니다. 실제로 대부분의 WMI 클래스는 "SMS_"로 시작하며 기본 Configuration Manager WMI 네임스페이스는 "SMS"입니다. 수년에 걸쳐 수많은 레거시 클래스, 메서드 및 속성이 축적되었습니다. 관리자에게는 명확하지 않지만 히스토리/레거시를 프로그래밍할 때 혼란스러울 수 있습니다.

기능 이해

Configuration Manager를 성공적으로 자동화하거나 확장하려면 제품에 대한 기능적 이해를 얻는 것이 매우 중요합니다. Configuration Manager는 다계층 분산 관리 시스템으로, 대부분 수많은 서버와 여러 위치에 분산되어 있습니다. 자세한 내용은 Configuration Manager의 기본 사항을 참조하세요.

추가 리소스

동영상

포럼

아키텍처 이해

Configuration Manager는 다중 계층 분산 관리 시스템입니다. Configuration Manager의 일반적인 아키텍처를 이해하는 것이 중요합니다. 다음은 Configuration Manager 아키텍처의 개요에 대한 링크입니다.

아키텍처 정보 외에도 Configuration Manager를 처음 사용하는 관리자와 프로그래머에게 일반적으로 혼동되는 몇 가지 핵심 사항이 있습니다.

  • 서버: 일반적인 의미에서 대부분의 프로그래밍 작업(특히 자동화)은 Configuration Manager 사이트 서버에서 이루어집니다. 작업 또는 구성 변경 내용은 정책을 통해 Configuration Manager 계층 구조 전체에서 클라이언트로 전파됩니다. 정책은 구성 가능한 폴링 간격으로 클라이언트에 의해 풀다운되며 서버에서 클라이언트에 즉시 푸시 되지 않습니다 . 일반적으로 클라이언트가 설치되면 사이트 서버에서 클라이언트로 또는 클라이언트와 사이트 서버로 직접 통신이 없으며 모든 통신이 중간 서버 역할을 통해 이루어집니다.

  • 클라이언트: Configuration Manager 클라이언트는 Configuration Manager에서 관리되는 시스템 및 장치입니다. '서버'는 구성 관리자 클라이언트일 수 있습니다. Exchange 서버, Active Directory 서버 및 Configuration Manager 서버는 모두 Configuration Manager 클라이언트가 될 수 있습니다. 또한 Windows 10, Windows Phone 및 macOS 장치는 모두 Configuration Manager 클라이언트가 될 수 있습니다.

Configuration Manager 클라이언트는 주기적으로 Configuration Manager 관리 지점을 폴링하여 정책을 받습니다. 기본 정책을 검색하기 위한 폴링 간격은 다른 설정과 마찬가지로 구성할 수 있습니다. 이로 인해 Configuration Manager 사이트 서버에서 시작된 클라이언트 대상 작업에는 기본적으로 지연이 있습니다.

  • 콘솔: 원격 Configuration Manager 콘솔 이진 파일 및 파일은 사이트 서버에서 변경될 때 자동으로 업데이트되지 않습니다. 수정 사항 및 확장은 수동으로 또는 Configuration Manager 응용 프로그램 관리/소프트웨어 배포를 사용하여 Configuration Manager 콘솔을 실행하는 시스템에 복사해야 합니다.

  • SMS 공급자와 SQL Server 비교: Configuration Manager는 데이터 저장소에 SQL Server를 활용하지만 SQL Server는 Configuration Manager에 대한 기본 프로그래밍 인터페이스가 아닙니다. Configuration Manager에 대한 기본 프로그래밍 인터페이스는 WMI(SMS 공급자)입니다. 개체 만들기 및 수정은 SMS 공급자를 통해 수행되어야 합니다. SQL Server는 쿼리 및 보고 목적으로 Configuration Manager 데이터에 대한 읽기 전용 액세스를 제공하는 것으로 간주해야 합니다. 이는 사용 권한의 문제가 아니라 데이터 무결성을 유지하는 문제입니다.

네임스페이스 및 클래스

서버

기본 WMI 네임스페이스: ROOT\SMS\SITE_<사이트 코드>

서버 WMI 클래스:Configuration Manager API 참조

클라이언트

기본 WMI 네임스페이스: 루트\CCM

클라이언트 WMI 클래스:Configuration Manager API 참조

중요

Configuration Manager의 클라이언트 쪽 프로그래밍 스토리는 주로 WMI 기반으로 진화하고 있습니다. 과거에는 클라이언트 쪽 COM 클래스 집합이 클라이언트 기능에 액세스하는 데 사용되는 기본 메서드였지만 추가 클라이언트 쪽 WMI 클래스/메서드도 사용되었습니다. System Center 2012 Configuration Manager가 릴리스되면서 네임스페이스(root/ccm/ClientSDK)의 WMI 클래스 집합에 초점이 이동하고 있습니다. COM 또는 특정 SDK 클래스 형태의 추상화는 제품 업데이트 과정에서 기본 아키텍처 변경으로부터 유용한 추상화를 제공합니다.

콘솔

콘솔 관련 관리되는 클래스:

  • Microsoft.configurationmanagement.exe

  • Microsoft.configurationmanagement.managementprovider.dll

  • Microsoft.ConfigurationManagement.DialogFoundation.dll

  • AdminUI.DialogFoundation.dll

Configuration Manager 콘솔 소개 topics:

프로그래밍 기본 사항

SDK의 Configuration Manager 프로그래밍 기본 사항 섹션에서는 Configuration Manager에서 사용할 수 있는 다양한 유형의 개체 및 구조로 작업하는 방법에 대한 예제를 제공합니다. Configuration Manager에는 처음에 혼동할 수 있는 몇 가지 개체/개념이 포함되어 있습니다. 특히 흥미로운 것은 포함된 속성(사이트 제어 파일과 함께 기본으로 사용됨) 및 느린 속성(Configuration Manager 클래스 전체에서 사용됨)입니다. 다음은 SDK의 프로그래밍 기본 사항(및 기타 하위 섹션)에 대한 링크입니다. 이 섹션에는 다양한 개체 유형으로 작업하는 방법을 보여 주는 코드 예제가 포함되어 있습니다.

중요

SDK는 주로 VBScript 및 C#으로 코드 예제를 제공합니다. 다른 언어가 SMS 공급자에서 작동하지 않음을 의미하지는 않습니다. SMS 공급자는 올바른 개체와 구문을 교환할 수 있는 한 언어에 구애받지 않습니다. 사용자 환경에 가장 적합한 언어(도구)를 사용합니다. C#은 SDK 코드 조각을 테스트하기 위한 기준으로 내부적으로 사용되므로 개체 조작 및 코드 구성의 예제가 C#에서 제공되는 경우가 가장 많습니다. 다른 언어를 사용하는 경우 C#에서 원하는 언어로 번역하는 것이 편해야 합니다.

기본 도구

WBEMTEST

Configuration Manager에서 많은 시간을 보내면 많은 부분이 WMI를 통해 실행된다는 것을 알 수 있습니다. WMI는 "Windows Management Instrumentation"으로, WBEM(웹 기반 엔터프라이즈 관리)이라는 인터넷 표준의 Microsoft의 구현입니다. 시중에는 많은 WMI 도구가 있습니다. 그러나 WBEMTEST는 대부분의 시스템에서 먼저 다운로드할 필요 없이 즉시 사용할 수 있습니다. Notepad.exe더 풍부한 기능을 갖춘 텍스트 편집기를 사용할 수 있지만 텍스트 파일을 보거나 만들어야 할 때 항상 Notepad.exe 있습니다.

WBEMTEST 소개

내부적으로 SMS 공급자 관련 문제(개체 생성, 수정 및 삭제)를 해결할 때 가장 일반적으로 사용되는 도구는 WBEMTEST입니다.

CMTrace

CMTrace: CMTrace는 Configuration Manager를 모니터링하고 문제를 해결하는 데 유용한 사용자 지정된 로그 파일 뷰어입니다. CMTrace는 기록된 활동을 모니터링하기 위해 다시 로드할 필요 없이 로그 파일 변경 내용을 지속적으로 볼 수 있으며 특히 SMS 공급자를 통해 개체 생성 또는 수정을 모니터링/해결할 때 유용합니다(아래 SMSProv.log 참조).

CMTrace는 Configuration Manager 사이트 서버의 "<Configuration Manager 설치 디렉터리>\도구" 폴더에서 찾을 수 있습니다.

SMSProv.log: SMS 공급자 로그 파일(<Configuration Manager Installation Directory>\Logs\SMSProv.log)은 SMS 공급자의 활동을 기록하고 SMS 공급자를 통해 프로그래밍 방식으로 Configuration Manager 개체를 만들거나 수정할 때 문제를 모니터링/해결하는 데 유용한 하위 수준 정보를 제공합니다.

클라이언트 스파이 및 정책 스파이

클라이언트 스파이: System Center 2012 Configuration Manager 클라이언트에서 소프트웨어 배포, 인벤토리 및 소프트웨어 측정과 관련된 문제를 해결하는 데 도움이 되는 도구입니다.

정책 스파이: System Center 2012 Configuration Manager 클라이언트에서 정책 시스템을 검토하고 문제를 해결하는 데 도움이 되는 정책 뷰어입니다.

기본 Configuration Manager 프로그램 예제

다음은 많은 Configuration Manager 프로그램에 공통적인 몇 가지 기본 작업을 보여 주는 매우 간단한 Configuration Manager 프로그램에 대한 링크입니다.