Introduzione alla programmazione con Configuration Manager

Per iniziare a programmare per Configuration Manager, è utile avere una conoscenza di base delle funzionalità e dell'architettura di Configuration Manager. Inoltre, esistono una serie di strumenti e risorse chiave fondamentali per la convalida e la risoluzione dei problemi delle soluzioni. Di seguito sono riportati suggerimenti e risorse per chi non ha esperienza nella programmazione per Configuration Manager.

Importante

Devi riconoscere che Configuration Manager, in precedenza Systems Management Server (SMS), ha una lunga storia come prodotto. Esaminando gli spazi dei nomi, le classi, i metodi, le proprietà e i file di log troverai molti riferimenti contenenti "SMS": infatti, la maggior parte delle classi WMI inizia con "SMS_" e lo spazio dei nomi WMI primario Configuration Manager è "SMS". Nel corso degli anni, si sono accumulate numerose classi, metodi e proprietà legacy, non evidenti a un utente amministratore, ma quando si programmano la cronologia/legacy può creare confusione.

Comprensione funzionale

Per automatizzare o estendere correttamente Configuration Manager, è estremamente importante acquisire una comprensione funzionale del prodotto. Configuration Manager è un sistema di gestione distribuito a più livelli, il più delle volte distribuito su numerosi server e numerose posizioni. Per altre informazioni, vedere Nozioni fondamentali su Configuration Manager.

Altre risorse

Documentazione

Video

Forum

Comprensione dell'architettura

Configuration Manager è un sistema di gestione distribuito a più livelli. È importante comprendere l'architettura generale di Configuration Manager. Di seguito è riportato un collegamento a una panoramica dell'architettura di Configuration Manager.

Oltre alle informazioni sull'architettura, esistono diversi punti chiave che in genere confondono amministratori e programmatori che non hanno esperienza con Configuration Manager.

  • Server: In senso generale, la maggior parte delle azioni di programmazione (in particolare l'automazione) si svolge in un server del sito di Configuration Manager. Le azioni o le modifiche alla configurazione vengono propagate in tutta la gerarchia di Configuration Manager ai client tramite criteri. Il criterio viene abbassato dal client in base a un intervallo di polling configurabile, NON sottoposto immediatamente al push del client dal server. In generale, dopo l'installazione di un client non esiste alcuna comunicazione diretta tra il server del sito e il client o il client con il server del sito. Tutte le comunicazioni vengono effettuate tramite ruoli server intermedi.

  • Client: i client di Configuration Manager sono sistemi e dispositivi gestiti da Configuration Manager. Un 'server' può essere un client Configuration Manger. Un server Exchange, un server Active Directory e un server Configuration Manager possono essere client di Configuration Manager. Inoltre, i dispositivi Windows 10, Windows Phone e macOS possono essere client di Configuration Manager.

I client di Configuration Manager ricevono i criteri eseguendo periodicamente il polling di un punto di gestione di Configuration Manager. L'intervallo di polling per il recupero dei criteri di base è configurabile, così come le altre impostazioni. Per questo motivo, si verificano ritardi intrinseci nelle azioni mirate del client avviate dal server del sito di Configuration Manager.

  • Console: I file binari e i file binari della console di Configuration Manager remoto non vengono aggiornati automaticamente quando vengono apportate modifiche al server di sito. Le modifiche e le estensioni devono essere copiate nei sistemi che eseguono la console di Configuration Manager, manualmente o usando Gestione applicazioni/distribuzione software di Configuration Manager.

  • Confronto tra provider SMS e SQL Server: sebbene Configuration Manager utilizzi SQL Server per l'archiviazione dei dati, SQL Server NON è l'interfaccia di programmazione principale per Configuration Manager. L'interfaccia di programmazione principale per Configuration Manager è il provider SMS (WMI). La creazione e la modifica degli oggetti devono essere eseguite tramite il provider SMS. È consigliabile considerare SQL Server come un accesso in sola lettura ai dati Configuration Manager per scopi di query e creazione di report. Non si tratta di una questione di autorizzazioni, ma piuttosto di mantenere l'integrità dei dati.

Spazi dei nomi e classi

Server

Spazio dei nomi WMI primario: ROOT\SMS\SITE_<codice del sito>

Classi WMI del server:informazioni di riferimento sulle API di Configuration Manager

Client

Spazio dei nomi WMI primario: ROOT\CCM

Classi WMI client:informazioni di riferimento sulle API di Configuration Manager

Importante

La storia della programmazione lato client per Configuration Manager si sta evolvendo per essere principalmente basata su WMI. In passato, un set di classi COM sul lato client era il metodo principale utilizzato per accedere alle funzionalità client, sebbene fossero utilizzati anche altri metodi o classi WMI sul lato client. Con il rilascio di System Center 2012 Configuration Manager, l'attenzione si sposta su un set di classi WMI nello spazio dei nomi: root/ccm/ClientSDK. Comprensibilmente, un'astrazione, sotto forma di COM o classi SDK specifiche, fornisce un'astrazione utile dalle modifiche dell'architettura sottostante nel corso degli aggiornamenti del prodotto.

Console

Classi gestite correlate alla console:

  • Microsoft.configurationmanagement.exe

  • Microsoft.configurationmanagement.managementprovider.dll

  • Microsoft.ConfigurationManagement.DialogFoundation.dll

  • AdminUI.DialogFoundation.dll

Argomenti introduttivi della console di Configuration Manager:

Basi della programmazione

La sezione Nozioni fondamentali di programmazione di Configuration Manager dell'SDK fornisce esempi su come lavorare con i vari tipi di oggetti e strutture disponibili in Configuration Manager. Configuration Manager contiene alcuni oggetti/concetti che possono creare inizialmente confusione. Di particolare interesse sono le proprietà incorporate (usate principalmente con il file di controllo del sito) e le proprietà pigre (usate in tutte le classi di Configuration Manager). Di seguito sono riportati i collegamenti ai fondamenti di programmazione (e altre sottosezioni) dell'SDK. Queste sezioni contengono esempi di codice che mostrano come utilizzare i vari tipi di oggetto.

Importante

L'SDK fornisce spesso esempi di codice in VBScript e C#. Ciò non significa che altre lingue non funzioneranno con il provider SMS. Il provider SMS è indipendente dal linguaggio, purché sia possibile scambiare gli oggetti e i costrutti corretti. Utilizzare il linguaggio (strumento) più appropriato per l'ambiente in uso. C# viene usato internamente come base per testare i frammenti di codice SDK, quindi esempi di manipolazione degli oggetti e costrutti di codice verranno spesso forniti in C#. Se si usa un'altra lingua, si dovrebbe avere familiarità con la traduzione da C# alla lingua preferita.

Strumenti di base

WBEMTEST

Se si passa molto tempo a usare Configuration Manager, ci si rende conto che gran parte di esso viene eseguito tramite WMI. WMI è "Strumentazione gestione Windows" ed è l'implementazione di Microsoft di uno standard Internet denominato Web Based Enterprise Management (WBEM). Sono disponibili molti strumenti WMI. Tuttavia, WBEMTEST è immediatamente disponibile nella maggior parte dei sistemi, anziché essere scaricato prima. Si potrebbe pensare che sia Notepad.exe, con editor di testo con funzionalità avanzate, Notepad.exe sempre disponibili quando è necessario visualizzare o creare un file di testo.

Introduzione ai WBEMTEST

Consiglio

Internamente, lo strumento più comunemente usato per la risoluzione dei problemi relativi al provider SMS (creazione, modifica ed eliminazione di oggetti) è WBEMTEST.

CMTrace

CMTrace: CMTrace è un visualizzatore di file di log personalizzato utile per il monitoraggio e la risoluzione dei problemi di Configuration Manager. CMTrace offre una visualizzazione continua delle modifiche apportate ai file di log (anziché essere necessario ricaricare per monitorare l'attività registrata) ed è particolarmente utile per il monitoraggio/la risoluzione dei problemi relativi alla creazione o alla modifica di oggetti tramite il provider SMS (vedere la SMSProv.log seguente).

CMTrace è disponibile nel server del sito di Configuration Manager, nella cartella "<Directory di installazione> di Configuration Manager\tools".

SMSProv.log: Il file di log del provider SMS (<Configuration Manager Installation Directory>\Logs\SMSProv.log) registra l'attività del provider SMS e fornisce informazioni di basso livello, utili per monitorare o risolvere i problemi durante la creazione o la modifica a livello di programmazione di oggetti Configuration Manager tramite il provider SMS.

Client Spy e Policy Spy

Spia del cliente: Strumento che consente di risolvere i problemi relativi alla distribuzione del software, all'inventario e alla misurazione del software nei client System Center 2012 Configuration Manager.

Spia politica: Visualizzatore criteri che consente di esaminare e risolvere i problemi relativi al sistema di criteri nei client System Center 2012 Configuration Manager.

Esempio di programma Configuration Manager di base

Di seguito è riportato il collegamento ad un programma di Configuration Manager molto semplice che mostra alcune operazioni di base comuni a molti programmi di Configuration Manager: