Introduzione alla programmazione con Configuration Manager

Per iniziare a programmare per Configuration Manager, è utile avere una conoscenza funzionale e architetturale di base di Configuration Manager. Sono inoltre disponibili una serie di strumenti e risorse chiave che sono fondamentali per la convalida e la risoluzione dei problemi delle soluzioni. Di seguito sono riportati suggerimenti e risorse per un utente nuovo nella programmazione per Configuration Manager.

Importante

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

Conoscenza funzionale

Per automatizzare o estendere correttamente Configuration Manager, è incredibilmente importante acquisire una conoscenza funzionale del prodotto. Configuration Manager è un sistema di gestione distribuito a più livelli, più spesso distribuito su numerosi server e numerose posizioni. Per altre informazioni, vedere Nozioni fondamentali sulla 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 Configuration Manager.

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

  • Server: In senso generale, la maggior parte delle azioni di programmazione (in particolare l'automazione) avviene in un server del sito Configuration Manager. Le azioni o le modifiche alla configurazione vengono propagate ai client in tutta la gerarchia Configuration Manager tramite criteri. Il criterio viene estratto dal client in base a un intervallo di polling configurabile NON immediatamente inserito nel client dal server. In generale, dopo l'installazione di un client, non viene eseguita alcuna comunicazione diretta dal server del sito al client o al client al server del sito. Tutte le comunicazioni vengono eseguite tramite ruoli server intermedi.

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

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

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

  • Provider SMS e SQL Server: sebbene Configuration Manager sfrutti SQL Server per l'archiviazione dei dati, SQL Server NON è l'interfaccia di programmazione primaria da Configuration Manager. L'interfaccia di programmazione principale da 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 fornire l'accesso in sola lettura ai dati Configuration Manager a scopo di query e creazione di report. Non si tratta di autorizzazioni, ma di mantenimento dell'integrità dei dati.

Spazi dei nomi e classi

Server

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

Classi WMI server:informazioni di riferimento sulle API Configuration Manager

Client

Spazio dei nomi WMI primario: ROOT\CCM

Classi WMI client:informazioni di riferimento sulle API Configuration Manager

Importante

La storia della programmazione sul lato client per Configuration Manager sta evolvendo in modo da essere principalmente basata su WMI. In passato, un set di classi COM sul lato client era il metodo primario usato per accedere alle funzionalità client, anche se venivano usati altri metodi/classi WMI sul lato client. Con il rilascio di System Center 2012 Configuration Manager, lo stato attivo passa a un set di classi WMI nello spazio dei nomi: root/ccm/ClientSDK. Comprensibilmente, un'astrazione, sotto forma di classi COM o SDK specifiche, fornisce un'astrazione utile dalle modifiche dell'architettura sottostanti 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 Configuration Manager Console:

Basi della programmazione

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

Importante

L'SDK fornisce più 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. Usare il linguaggio (strumento) più appropriato per l'ambiente. C# viene usato internamente come linea di base per testare i frammenti di codice SDK, quindi gli esempi di manipolazione di oggetti e costrutti di codice verranno forniti più spesso in C#. Se si usa un'altra lingua, è consigliabile avere familiarità con la traduzione da C# alla lingua preferita.

Strumenti di base

WBEMTEST

Se si trascorre molto tempo intorno Configuration Manager si è consapevoli 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é dover essere scaricato per primo. Si potrebbe pensare ad esso come Notepad.exe- ci sono editor di testo con funzionalità più avanzate disponibili, ma Notepad.exe è sempre lì quando è necessario visualizzare o creare un file di testo.

Introduzione ai WBEMTEST

Consiglio

Internamente, lo strumento più 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 Configuration Manager. CMTrace offre una visualizzazione continua delle modifiche apportate ai file di log (anziché dover ricaricare per monitorare l'attività registrata) ed è particolarmente utile quando si monitora/risoluzione dei problemi di creazione o modifica di oggetti tramite il provider SMS (vedere smsProv.log di seguito).

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

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

Client Spy e Policy Spy

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

Policy Spy: Visualizzatore di criteri che consente di esaminare e risolvere i problemi del sistema di criteri nei client di System Center 2012 Configuration Manager.

Esempio di programma Configuration Manager di base

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