Introducción a la programación con el Administrador de configuración

Para empezar a trabajar con la programación de Configuration Manager, es beneficioso tener una comprensión funcional y arquitectónica básica de Configuration Manager. Además, hay una serie de herramientas y recursos clave que son fundamentales para validar y solucionar problemas de soluciones. A continuación se muestran sugerencias y recursos para alguien nuevo en programación para Configuration Manager.

Importante

Debe reconocer que Configuration Manager, anteriormente Systems Management Server (SMS), tiene un historial bastante largo como producto. Al revisar espacios de nombres, clases, métodos, propiedades y archivos de registro, encontrará muchas referencias que contienen "SMS", de hecho, la mayoría de las clases WMI comienzan con "SMS_" y el espacio de nombres WMI principal Configuration Manager es "SMS". A lo largo de los años, se han acumulado numerosas clases, métodos y propiedades heredadas, que no son evidentes para un usuario administrativo, pero al programar el historial o el heredado pueden resultar confusos.

Comprensión funcional

Para automatizar o ampliar correctamente Configuration Manager, es increíblemente importante obtener una comprensión funcional del producto. Configuration Manager es un sistema de administración distribuida de varios niveles, que suele distribuirse en numerosos servidores y numerosas ubicaciones. Para obtener más información, consulte Aspectos básicos de Configuration Manager.

Más recursos

Libros

Vídeos

Foros

Comprensión arquitectónica

Configuration Manager es un sistema de administración distribuida de varios niveles. Es importante comprender la arquitectura general de Configuration Manager. A continuación se muestra un vínculo a una introducción a la arquitectura de Configuration Manager.

Además de la información arquitectónica, hay varios puntos clave que suelen confundir a administradores y programadores nuevos en Configuration Manager.

  • Servidor: En general, la mayoría de las acciones de programación (en particular, la automatización) tienen lugar en un servidor de sitio Configuration Manager. Las acciones o los cambios de configuración se propagan a través de la jerarquía de Configuration Manager a los clientes a través de la directiva. El cliente extrae la directiva en un intervalo de sondeo configurable NO insertado inmediatamente en el cliente por el servidor. En general, una vez instalado un cliente, no hay comunicación directa desde el servidor de sitio al cliente o al cliente al servidor de sitio; toda la comunicación se realiza a través de roles de servidor intermedios.

  • Cliente: Configuration Manager clientes son sistemas y dispositivos administrados por Configuration Manager. Un "servidor" puede ser un cliente de Configuration Manger. Un servidor de Exchange, un servidor de Active Directory y un servidor de Configuration Manager se pueden Configuration Manager clientes. Además, los dispositivos Windows 10, Windows Phone y macOS se pueden Configuration Manager clientes.

Configuration Manager clientes reciben la directiva mediante el sondeo periódico de un punto de administración de Configuration Manager. El intervalo de sondeo para recuperar la directiva básica es configurable, al igual que otras opciones de configuración. Por este motivo, hay retrasos inherentes en las acciones dirigidas al cliente iniciadas desde el servidor de sitio Configuration Manager.

  • Consola: Los archivos binarios de consola de Configuration Manager remotos no se actualizan automáticamente cuando se realizan cambios en el servidor de sitio. Las modificaciones y extensiones deben copiarse en sistemas que ejecutan la consola de Configuration Manager, ya sea manualmente o mediante Configuration Manager administración de aplicaciones o distribución de software.

  • Proveedor de SMS frente a SQL Server: aunque Configuration Manager aprovecha SQL Server para el almacenamiento de datos, SQL Server no es la interfaz de programación principal para Configuration Manager. La interfaz de programación principal que se va a Configuration Manager es el proveedor de SMS (WMI): la creación y modificación de objetos se debe realizar a través del proveedor de SMS. Debe considerar SQL Server como proporcionar acceso de solo lectura a Configuration Manager datos con fines de consulta e informes. No se trata de permisos, sino de mantener la integridad de los datos.

Espacios de nombres y clases

Servidor

Espacio de nombres WMI principal: ROOT\SMS\SITE_<site code>

Clases WMI de servidor:referencia de api de Configuration Manager

Client

Espacio de nombres WMI principal: ROOT\CCM

Clases WMI de cliente:referencia de api de Configuration Manager

Importante

El artículo de programación del lado cliente para Configuration Manager está evolucionando para que se base principalmente en WMI. En el pasado, un conjunto de clases COM del lado cliente era el método principal que se usaba para acceder a la funcionalidad del cliente, aunque también se usaban métodos o clases WMI adicionales del lado cliente. Con la versión de System Center 2012 Configuration Manager, el foco cambia a un conjunto de clases WMI en el espacio de nombres: root/ccm/ClientSDK. Es comprensible que una abstracción, en forma de COM o clases específicas del SDK, proporciona una abstracción útil de los cambios de arquitectura subyacentes en el transcurso de las actualizaciones de productos.

Consola

Clases administradas relacionadas con la consola:

  • Microsoft.configurationmanagement.exe

  • Microsoft.configurationmanagement.managementprovider.dll

  • Microsoft.ConfigurationManagement.DialogFoundation.dll

  • AdminUI.DialogFoundation.dll

Temas de introducción Configuration Manager Consola:

Aspectos básicos de la programación

En la sección aspectos básicos de programación de Configuration Manager del SDK se proporcionan ejemplos de cómo trabajar con los distintos tipos de objetos y estructuras disponibles en Configuration Manager. Configuration Manager contiene algunos objetos o conceptos que pueden ser inicialmente confusos. De especial interés son las propiedades incrustadas (usadas principalmente con el archivo de control de sitio) y las propiedades diferidas (usadas en las clases Configuration Manager). A continuación se muestran vínculos a los aspectos básicos de programación (y otras subs sections) del SDK. Estas secciones contienen ejemplos de código que muestran cómo trabajar con los distintos tipos de objeto.

Importante

El SDK suele proporcionar ejemplos de código en VBScript y C#. Esto no significa que otros idiomas no funcionen con el proveedor de SMS. El proveedor de SMS es independiente del idioma, siempre y cuando se puedan intercambiar los objetos y construcciones correctos. Use el idioma (herramienta) más adecuado para su entorno. C# se usa internamente como línea base para probar los fragmentos de código del SDK, por lo que los ejemplos de manipulación de objetos y construcciones de código se proporcionarán con mayor frecuencia en C#. Si usa otro idioma, debería estar cómodo traduciendo de C# al idioma que prefiera.

Herramientas básicas

WBEMTEST

Si pasa mucho tiempo alrededor de Configuration Manager se percata de que gran parte de ella se ejecuta a través de WMI. WMI es "Instrumental de administración de Windows" y es la implementación Microsoft de un estándar de Internet denominado Web Based Enterprise Management (WBEM). Hay muchas herramientas WMI por ahí. Sin embargo, WBEMTEST está disponible inmediatamente en la mayoría de los sistemas, en lugar de tener que descargarse primero. Es posible que lo piense como Notepad.exe: hay editores de texto con funcionalidades más enriquecidas disponibles, pero Notepad.exe siempre está allí cuando necesita ver o crear un archivo de texto.

Introducción a WBEMTEST

Sugerencia

Internamente, la herramienta más utilizada para solucionar problemas relacionados con el proveedor de SMS (creación, modificación y eliminación de objetos) es WBEMTEST.

CMTrace

CMTrace: CMTrace es un visor de archivos de registro personalizado que resulta útil para supervisar y solucionar problemas Configuration Manager. CMTrace proporciona una vista continua de los cambios en el archivo de registro (en lugar de tener que volver a cargar para supervisar la actividad registrada) y es especialmente útil al supervisar o solucionar problemas de creación o modificación de objetos a través del proveedor de SMS (consulte smsprov.log a continuación).

CMTrace se puede encontrar en el servidor de sitio Configuration Manager, en la carpeta "<Configuration Manager Directorio> de instalación\herramientas".

SMSProv.log: El archivo de registro del proveedor de SMS (<Configuration Manager Directorio> de instalación\Logs\SMSProv.log) registra la actividad del proveedor de SMS y proporciona información de bajo nivel que resulta útil para supervisar o solucionar problemas al crear o modificar objetos Configuration Manager mediante el proveedor de SMS mediante programación.

Spy de cliente y espía de directivas

Client Spy: Una herramienta que le ayuda a solucionar problemas relacionados con la distribución de software, el inventario y la medición de software en system center 2012 Configuration Manager clientes.

Espía de directivas: Visor de directivas que le ayuda a revisar y solucionar problemas del sistema de directivas en System Center 2012 Configuration Manager clientes.

Ejemplo de programa de Configuration Manager básico

A continuación se muestra un vínculo a un programa de Configuration Manager muy sencillo que muestra algunas operaciones básicas comunes a muchos programas Configuration Manager: