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 che non ha a che fare con la 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 di 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 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 Concetti fondamentali di Configuration Manager.
Altre risorse
Documentazione
System Center 2012 Configuration Manager: Mastering the Fundamentals
Microsoft System Center 2012 Configuration Manager: Cookbook di amministrazione
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 a che fare con Configuration Manager.
Server: In generale, la maggior parte delle azioni di programmazione (in particolare l'automazione) si verifica 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 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.
Cliente: I client di Configuration Manager 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 di Configuration Manager possono essere tutti client di Configuration Manager. Inoltre, i dispositivi Windows 10, Windows Phone e macOS possono essere tutti 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 altre impostazioni. Per questo motivo, si verificano ritardi intrinseci nelle azioni destinate al client avviate dal server del sito di Configuration Manager.
Confortare: I file e i file della console di Configuration Manager remoto 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 di Configuration Manager, manualmente o usando Gestione applicazioni di Configuration Manager/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 di Configuration Manager. L'interfaccia di programmazione principale di 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 l'accesso in sola lettura ai dati di 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 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 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 della console di Configuration Manager:
Informazioni sull'estensione della console di Configuration Manager
Architettura dell'estensione della console di Configuration Manager
Basi della programmazione
La sezione Nozioni fondamentali sulla programmazione di 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 possono inizialmente 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 di 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 dedica molto tempo a Configuration Manager, si è a conoscenza del fatto 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.
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 di 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 per il monitoraggio/risoluzione dei problemi relativi alla creazione o alla modifica di oggetti tramite il provider SMS (vedere la SMSProv.log riportata di seguito).
CMTrace è disponibile nel server del sito di Configuration Manager, nella cartella "<Directory di installazione>\strumenti di Configuration Manager".
SMSProv.log: Il file di log del provider SMS (<Directory> di installazione di Configuration Manager\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 di 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 relativi al sistema dei criteri nei client di System Center 2012 Configuration Manager.
Esempio di programma Di base di Configuration Manager
Di seguito è riportato il collegamento a un programma di Configuration Manager molto semplice che mostra alcune operazioni di base comuni a molti programmi di Configuration Manager:
Connect
al provider SMSList
tutti i programmiCreare un nuovo programma
Modificare un programma esistente
Eliminare un programma esistente
Esempio semplice di elenco, creazione, modifica ed eliminazione