Начало работы с программированием Configuration Manager

Чтобы приступить к программированию для Configuration Manager, полезно иметь базовое функциональное и архитектурное представление о Configuration Manager. Кроме того, существует ряд ключевых средств и ресурсов, которые критически важны для проверки решений и устранения неполадок. Ниже приведены советы и ресурсы для тех, кто не знаком с программированием в Configuration Manager.

Важно!

Следует помнить, что продукт Configuration Manager, ранее использовавшийся как сервер Systems Management Server (SMS), имеет довольно долгую историю. При просмотре пространств имен, классов, методов, свойств и файлов журналов вы найдете множество ссылок, содержащих "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. Клиентами 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.

  • Поставщик SMS и SQL Server: хотя Configuration Manager использует SQL Server для хранения данных, SQL Server НЕ является основным программным интерфейсом для Configuration Manager. Основным программным интерфейсом для Configuration Manager является поставщик SMS (WMI), поэтому создание и изменение объектов должно выполняться через поставщика SMS. Следует считать, что SQL Server предоставляет доступ к данным Configuration Manager только для чтения для запросов и создания отчетов. Это не вопрос разрешений, а скорее вопрос сохранения целостности данных.

Пространства имен и классы

Сервер

Основное пространство имен WMI: ROOT\SMS\SITE_код< сайта>

Классы WMI сервера:Справочные материалы по API Configuration Manager

Клиент

Основное пространство имен WMI: ROOT\CCM

Классы WMI клиента:Справочные материалы по API Configuration Manager

Важно!

История программирования на стороне клиента для Configuration Manager развивается и в основном основана на WMI. В прошлом набор клиентских классов COM был основным методом, используемым для доступа к функциям клиента, хотя также использовались дополнительные клиентские классы и методы WMI. С выпуском 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:

Основы программирования

В разделе "Основы программирования Configuration Manager" пакета SDK приводятся примеры работы с различными типами объектов и структур, доступных в Configuration Manager. Configuration Manager содержит некоторые объекты и понятия, которые поначалу могут вводить в заблуждение. Особый интерес представляют внедренные свойства (используемые в основном с файлом элементов управления сайта) и отложенные свойства (используемые во всех классах Configuration Manager). Ниже приведены ссылки на разделы "Основы программирования" (и другие подразделы) пакета SDK. Эти разделы содержат примеры кода, показывающие, как работать с различными типами объектов.

Важно!

Пакет SDK чаще всего предоставляет примеры кода на языках VBScript и C#. Это не означает, что другие языки не будут работать с поставщиком SMS. Поставщик SMS не зависит от языка, если можно обмениваться правильными объектами и конструкциями. Используйте язык (средство), наиболее подходящий для вашей среды. C# используется внутри компании в качестве основы для тестирования фрагментов кода SDK, поэтому примеры работы с объектами и конструкций кода чаще всего будут приведены в C#. Если вы используете другой язык, вам будет удобно переводить с C# на нужный язык.

Основные средства

WBEMTEST

Если вы проведете много времени с Configuration Manager, вы поймете, что большая его часть выполняется через WMI. WMI — это "инструментарий управления Windows", представляющий собой реализацию Интернет-стандарта под названием Web Based Enterprise Management (WBEM). Существует множество инструментов WMI. Тем не менее, WBEMTEST доступен на большинстве систем сразу, без предварительной загрузки. Вы можете подумать об этом как Notepad.exe — существуют текстовые редакторы с более широкими возможностями, но Notepad.exe всегда рядом, когда вам нужно просмотреть или создать текстовый файл.

Введение в WBEMTEST

Совет

Наиболее часто используемым инструментом при устранении проблем, связанных с поставщиком SMS (создание, изменение и удаление объектов), является WBEMTEST.

CMTrace

CMTrace: CMTrace — это настраиваемое средство просмотра файлов журнала, которое полезно для мониторинга и устранения неполадок Configuration Manager. CMTrace обеспечивает непрерывное представление изменений в файле журнала (вместо перезагрузки для мониторинга зарегистрированной активности) и особенно полезен при мониторинге/устранении неполадок при создании или изменении объектов через провайдер SMS (см. SMSProv.log ниже).

CMTrace можно найти на сервере сайта Configuration Manager в папке "<Каталог> установки Configuration Manager \tools".

SMSProv.log: Файл журнала поставщика SMS (<Configuration Manager Installation Directory>\Logs\SMSProv.log) регистрирует действия поставщика SMS и предоставляет низкоуровневую информацию, полезную для мониторинга и устранения проблем при программном создании или изменении Configuration Manager объектов с помощью поставщика SMS.

Шпион клиента и шпион политики

Шпион клиента: Средство, помогающее устранять проблемы, связанные с распространением, инвентаризацией и измерением программного обеспечения в клиентах System Center 2012 Configuration Manager.

Шпион за политикой: Средство просмотра политик, которое помогает просматривать и устранять неполадки системы политик в клиентах System Center 2012 Configuration Manager.

Пример программы базового уровня Configuration Manager

Ниже приведена ссылка на очень простое приложение Configuration Manager, в котором показаны некоторые основные операции, общие для многих программ Configuration Manager: