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

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

Важно!

Следует признать, что Configuration Manager, ранее System 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. Сервер может быть клиентом диспетчера конфигурации. Сервер 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 является поставщик SMS (WMI), создание и изменение объекта должны выполняться через поставщик SMS. Следует рассмотреть SQL Server как предоставление доступа только для чтения к Configuration Manager данным для выполнения запросов и создания отчетов. Речь идет не о разрешениях, а о поддержании целостности данных.

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

Сервер

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

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

Client

Основное пространство имен 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" и Майкрософт реализации интернет-стандарта, называемого веб-управлением предприятием (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\Logs\SMSProv.log) регистрирует действия поставщика SMS и предоставляет низкоуровневую информацию, которая полезна для мониторинга и устранения проблем при программном создании или изменении объектов Configuration Manager через поставщик SMS.

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

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

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

Пример программы "Базовый Configuration Manager"

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