구성 관리자 프로그래밍 시작
Configuration Manager 프로그래밍을 시작하려면 Configuration Manager 대한 기본적인 기능 및 아키텍처 이해를 갖는 것이 좋습니다. 또한 솔루션의 유효성을 검사하고 문제를 해결하는 데 중요한 여러 주요 도구와 리소스가 있습니다. 다음은 Configuration Manager 프로그래밍을 새로운 사용자를 위한 팁과 리소스입니다.
중요
이전에 SMS(시스템 관리 서버)였던 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 관리되는 시스템 및 디바이스입니다. '서버'는 Configuration Manger 클라이언트일 수 있습니다. 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 네임스페이스: ROOT\CCM
클라이언트 WMI 클래스:Configuration Manager API 참조
중요
Configuration Manager 대한 클라이언트 쪽 프로그래밍 스토리는 주로 WMI 기반이 되도록 진화하고 있습니다. 이전에는 클라이언트 쪽 WMI 클래스/메서드가 추가로 사용되었지만 클라이언트 쪽 COM 클래스 집합은 클라이언트 기능에 액세스하는 데 사용되는 기본 메서드였습니다. System Center 2012 Configuration Manager 릴리스되면 포커스가 네임스페이스의 WMI 클래스 집합인 root/ccm/ClientSDK로 이동합니다. 당연히 COM 또는 특정 SDK 클래스 형식의 추상화는 제품 업데이트 과정에서 기본 아키텍처 변경에서 유용한 추상화 기능을 제공합니다.
콘솔
콘솔 관련 관리 클래스:
Microsoft.configurationmanagement.exe
Microsoft.configurationmanagement.managementprovider.dll
Microsoft.ConfigurationManagement.DialogFoundation.dll
AdminUI.DialogFoundation.dll
소개 Configuration Manager 콘솔 항목:
프로그래밍 기본 사항
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 있습니다.
팁
내부적으로 SMS 공급자 관련 문제(개체 만들기, 수정 및 삭제)를 해결할 때 가장 일반적으로 사용되는 도구는 WBEMTEST입니다.
CMTrace
CMTrace: CMTrace는 Configuration Manager 모니터링하고 문제를 해결하는 데 유용한 사용자 지정된 로그 파일 뷰어입니다. CMTrace는 로그 파일 변경 내용에 대한 연속 보기를 제공하며(기록된 활동을 모니터링하기 위해 다시 로드하지 않고도) SMS 공급자를 통해 개체 생성 또는 수정을 모니터링/문제 해결(아래 SMSProv.log 참조)할 때 특히 유용합니다.
CMTrace는 Configuration Manager 사이트 서버의 "<Configuration Manager 설치 디렉터리>\도구" 폴더에서 찾을 수 있습니다.
SMSProv.log: SMS 공급자 로그 파일(<Configuration Manager 설치 디렉터리>\Logs\SMSProv.log)은 SMS 공급자의 활동을 기록하며 SMS 공급자를 통해 프로그래밍 방식으로 Configuration Manager 개체를 만들거나 수정할 때 문제를 모니터링/해결하는 데 유용한 하위 수준 정보를 제공합니다.
클라이언트 스파이 및 정책 스파이
클라이언트 스파이: System Center 2012 Configuration Manager 클라이언트에서 소프트웨어 배포, 인벤토리 및 소프트웨어 계량과 관련된 문제를 해결하는 데 도움이 되는 도구입니다.
정책 스파이: System Center 2012 Configuration Manager 클라이언트에서 정책 시스템을 검토하고 문제를 해결하는 데 도움이 되는 정책 뷰어입니다.
기본 Configuration Manager 프로그램 예제
다음은 많은 Configuration Manager 프로그램에 공통적인 몇 가지 기본 작업을 보여 주는 매우 간단한 Configuration Manager 프로그램에 대한 링크입니다.
Connect
SMS 공급자에게List
모든 프로그램새 프로그램 만들기
기존 프로그램 수정
기존 프로그램 삭제