Noções básicas de programação com o Gerenciador de Configurações

Para começar a programar para Configuration Manager, é benéfico ter uma compreensão funcional e arquitetônica básica de Configuration Manager. Além disso, há uma série de ferramentas e recursos fundamentais para validar e solucionar problemas de soluções. Veja abaixo dicas e recursos para alguém novo na programação para Configuration Manager.

Importante

Você deve reconhecer que Configuration Manager, anteriormente Servidor de Gerenciamento de Sistemas (SMS), tem um longo histórico como produto. Ao revisar namespaces, classes, métodos, propriedades e arquivos de log, você encontrará muitas referências que contêm "SMS" – na verdade, a maioria das classes WMI começa com "SMS_" e o namespace do WMI Configuration Manager primário é "SMS". Ao longo dos anos, várias classes herdadas, métodos e propriedades se acumularam – não aparentes para um usuário administrativo, mas ao programar o histórico/legado pode ser confuso.

Compreensão funcional

Para automatizar ou estender com êxito Configuration Manager, é incrivelmente importante obter uma compreensão funcional do produto. Configuration Manager é sistema de gerenciamento distribuído de várias camadas, na maioria das vezes espalhados por vários servidores e vários locais. Para obter mais informações, consulte Fundamentos de Configuration Manager.

Mais recursos

Manuais

Vídeos

Fóruns

Compreensão arquitetônica

Configuration Manager é um sistema de gerenciamento distribuído de várias camadas. É importante entender a arquitetura geral do Configuration Manager. Veja abaixo um link para uma visão geral da arquitetura Configuration Manager.

Além das informações de arquitetura, há vários pontos-chave que geralmente confundem administradores e programadores novos para Configuration Manager.

  • Servidor: Em um sentido geral, a maioria das ações de programação (em particular, automação) ocorre em um servidor de site Configuration Manager. Ações ou alterações de configuração são propagadas por toda a hierarquia de Configuration Manager para os clientes por meio da política. A política é puxada para baixo pelo cliente em um intervalo de sondagem configurável NÃO é enviada imediatamente para o cliente pelo servidor. Em geral, depois que um cliente é instalado, não há comunicação direta do servidor do site para o cliente ou do cliente para o servidor do site – toda a comunicação ocorre por meio de funções intermediárias do servidor.

  • Cliente: Configuration Manager clientes são sistemas e dispositivos gerenciados por Configuration Manager. Um 'servidor' pode ser um cliente do Configuration Manger. Um servidor do Exchange, um servidor do Active Directory e um servidor Configuration Manager podem ser Configuration Manager clientes. Além disso, dispositivos Windows 10, Windows Phone e macOS podem ser Configuration Manager clientes.

Configuration Manager clientes recebem a política sondando periodicamente um ponto de gerenciamento de Configuration Manager. O intervalo de votação para recuperar a política básica é configurável, assim como outras configurações. Devido a isso, há atrasos inerentes nas ações de destino do cliente iniciadas a partir do servidor do site Configuration Manager.

  • Console: Binários e arquivos de console de Configuration Manager remotos não são atualizados automaticamente quando são feitas alterações no servidor do site. Modificações e extensões devem ser copiadas para sistemas que executam o console Configuration Manager, manualmente ou usando Configuration Manager Gerenciamento de Aplicativos/Distribuição de Software.

  • Provedor de SMS vs SQL Server: embora Configuration Manager aproveite SQL Server para armazenamento de dados, SQL Server NÃO é a interface de programação primária para Configuration Manager. A interface de programação primária para Configuration Manager é o WMI (Provedor de SMS) – a criação e modificação de objeto devem ser feitas por meio do Provedor de SMS. Você deve considerar SQL Server como fornecer acesso somente leitura a Configuration Manager dados para fins de consulta e relatório. Isso não é uma questão de permissões, mas sim de manter a integridade dos dados.

Namespaces e Classes

Servidor

Namespace WMI primário: CÓDIGO ROOT\SMS\SITE_<site>

Referência de APIdas Classes WMI do servidor:Configuration Manager

Client

Namespace WMI primário: ROOT\CCM

Referência da APIdo Cliente WMI Classes:Configuration Manager

Importante

A história de programação do lado do cliente para Configuration Manager está evoluindo para ser baseada principalmente em WMI. No passado, um conjunto de classes COM do lado do cliente era o método principal usado para acessar a funcionalidade do cliente, embora também fossem usadas classes/métodos de WMI adicionais do lado do cliente. Com a versão do System Center 2012 Configuration Manager, o foco está mudando para um conjunto de classes WMI no namespace: root/ccm/ClientSDK. Compreensivelmente, uma abstração, na forma de classes COM ou SDK específicas, fornece uma abstração útil de alterações arquitetônicas subjacentes ao longo de atualizações de produtos.

Console

Classes Gerenciadas relacionadas ao console:

  • Microsoft.configurationmanagement.exe

  • Microsoft.configurationmanagement.managementprovider.dll

  • Microsoft.ConfigurationManagement.DialogFoundation.dll

  • AdminUI.DialogFoundation.dll

Tópicos introdutórios Configuration Manager Console:

Fundamentos de programação

A seção Configuration Manager Fundamentos de Programação do SDK fornece exemplos de como trabalhar com os vários tipos de objetos e estruturas disponíveis no Configuration Manager. Configuration Manager contém alguns objetos/conceitos que podem ser inicialmente confusos. De interesse específico estão propriedades inseridas (usadas principalmente com o Arquivo de Controle de Site) e propriedades preguiçosas (usadas em todas as classes Configuration Manager). Abaixo estão links para os Fundamentos de Programação (e outras sub-seções) do SDK. Essas seções contêm exemplos de código mostrando como trabalhar com os vários tipos de objeto.

Importante

O SDK geralmente fornece exemplos de código em VBScript e C#. Isso não significa que outros idiomas não funcionarão com o Provedor de SMS. O Provedor de SMS é agnóstico de linguagem, desde que os objetos e builds corretos possam ser trocados. Use o idioma (ferramenta) mais apropriado para seu ambiente. O C# é usado internamente como uma linha de base para testar os snippets de código do SDK, portanto, exemplos de manipulação de objetos e construções de código serão fornecidos com mais frequência em C#. Se você usar outro idioma, deverá estar confortável em traduzir do C# para a linguagem escolhida.

Ferramentas básicas

WBEMTEST

Se você passar muito tempo Configuration Manager você se torna consciente de que grande parte dele passa pela WMI. O WMI é "Instrumentação de Gerenciamento do Windows" e é Microsoft implementação de um padrão da Internet chamado WBEM (Gerenciamento Empresarial Baseado na Web). Há muitas ferramentas WMI por aí. No entanto, o WBEMTEST está imediatamente disponível na maioria dos sistemas, em vez de ter que ser baixado primeiro. Você pode pensar nela como Notepad.exe – há editores de texto com recursos mais avançados disponíveis, mas Notepad.exe está sempre lá quando você precisa exibir ou criar um arquivo de texto.

Introdução ao WBEMTEST

Dica

Internamente, a ferramenta mais usada ao solucionar problemas relacionados ao Provedor de SMS (criação, modificação e exclusão de objetos) é WBEMTEST.

CMTrace

CMTrace: CMTrace é um visualizador de arquivos de log personalizado que é útil no monitoramento e na solução de problemas Configuration Manager. O CMTrace fornece uma exibição contínua das alterações do arquivo de log (em vez de ter que recarregar para monitorar a atividade registrada) e é particularmente útil ao monitorar/solucionar problemas de criação ou modificação de objeto por meio do Provedor de SMS (consulte o SMSProv.log abaixo).

O CMTrace pode ser encontrado no servidor do site Configuration Manager, na pasta "<Configuration Manager Diretório> de Instalação\ferramentas".

SMSProv.log: O arquivo de log do Provedor de SMS (<Configuration Manager Diretório> de Instalação\Logs\SMSProv.log) registra a atividade do Provedor de SMS e fornece informações de baixo nível úteis para monitorar/solucionar problemas ao criar ou modificar objetos Configuration Manager programaticamente por meio do Provedor de SMS.

Espião do cliente e espião de política

Espião do Cliente: Uma ferramenta que ajuda você a solucionar problemas relacionados à distribuição de software, inventário e medição de software em clientes do System Center 2012 Configuration Manager.

Espião de Política: Um visualizador de políticas que ajuda você a examinar e solucionar problemas do sistema de políticas no System Center 2012 Configuration Manager clientes.

Exemplo básico do programa de Configuration Manager

Veja abaixo o link para um programa de Configuration Manager muito simples mostrando algumas operações básicas comuns a muitos programas Configuration Manager: