Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um mit der Programmierung für Configuration Manager zu beginnen, ist es von Vorteil, über ein grundlegendes funktionales und architektonisches Verständnis von Configuration Manager zu verfügen. Darüber hinaus gibt es eine Reihe wichtiger Tools und Ressourcen, die für die Überprüfung und Problembehandlung von Lösungen entscheidend sind. Im Folgenden finden Sie Tipps und Ressourcen für Benutzer, die mit der Programmierung für Configuration Manager noch nicht vertraut sind.
Wichtig
Sie sollten sich darüber im Klaren sein, dass Configuration Manager, früher Systems Management Server (SMS), eine ziemlich lange Geschichte als Produkt hat. Beim Überprüfen von Namespaces, Klassen, Methoden, Eigenschaften und Protokolldateien finden Sie viele Verweise, die "SMS" enthalten – tatsächlich beginnen die meisten WMI-Klassen mit "SMS_", und der primäre Configuration Manager WMI-Namespace ist "SMS". Im Laufe der Jahre haben sich zahlreiche Legacy-Klassen, -Methoden und -Eigenschaften angesammelt – für einen administrativen Benutzer nicht ersichtlich, aber beim Programmieren kann die Historie/Legacy verwirrend sein.
Funktionales Verständnis
Um den Configuration Manager erfolgreich zu automatisieren oder zu erweitern, ist es unglaublich wichtig, ein funktionales Verständnis des Produkts zu erlangen. Configuration Manager ist ein mehrschichtiges, verteiltes Verwaltungssystem, das meist auf zahlreiche Server und zahlreiche Standorte verteilt ist. Weitere Informationen finden Sie unter Grundlagen des Configuration Manager.
Weitere Ressourcen
Bücher
System Center 2012 Configuration Manager: Beherrschen der Grundlagen
Microsoft System Center 2012 Configuration Manager: Administration Cookbook
Videos
Foren
Architekturverständnis
Configuration Manager ist ein mehrschichtiges, verteiltes Verwaltungssystem. Es ist wichtig, die allgemeine Architektur von Configuration Manager zu verstehen. Nachfolgend finden Sie einen Link zu einer Übersicht über die Architektur des Configuration Manager.
Zusätzlich zu den Architekturinformationen gibt es einige wichtige Punkte, die Administratoren und Programmierer, die neu im Configuration Manager sind, häufig verwirren.
Server: Im Allgemeinen finden die meisten Programmieraktionen (insbesondere die Automatisierung) auf einem Configuration Manager Standortserver statt. Aktionen oder Konfigurationsänderungen werden über Richtlinien in der gesamten Configuration Manager-Hierarchie an die Clients weitergegeben. Die Richtlinie wird vom Client in einem konfigurierbaren Abrufintervall heruntergezogen, das NICHT sofort vom Server an den Client übertragen wird. Im Allgemeinen findet nach der Installation eines Clients keine direkte Kommunikation vom Standortserver zum Client oder vom Client zum Standortserver statt – die gesamte Kommunikation findet über zwischengeschaltete Serverrollen statt.
Client: Configuration Manager Clients sind Systeme und Geräte, die von Configuration Manager verwaltet werden. Ein "Server" kann ein Configuration Manager-Client sein. Ein Exchange-Server, ein Active Directory-Server und ein Configuration Manager-Server können alle Configuration Manager-Clients sein. Darüber hinaus können Windows 10-, Windows Phone- und macOS-Geräte alle Configuration Manager-Clients sein.
Configuration Manager-Clients empfangen Richtlinien, indem sie regelmäßig einen Configuration Manager-Verwaltungspunkt abrufen. Das Abrufintervall zum Abrufen der Basisrichtlinie ist ebenso konfigurierbar wie andere Einstellungen. Aus diesem Grund kommt es zu inhärenten Verzögerungen bei clientspezifischen Aktionen, die vom Configuration Manager-Standortserver initiiert werden.
Konsole: Binärdateien und Dateien der Remote Configuration Manager-Konsole werden nicht automatisch aktualisiert, wenn Änderungen auf dem Standortserver vorgenommen werden. Änderungen und Erweiterungen müssen auf Systeme kopiert werden, auf denen die Configuration Manager-Konsole ausgeführt wird, entweder manuell oder mithilfe von Configuration Manager Anwendungsverwaltung/Softwareverteilung.
SMS-Anbieter im Vergleich zu SQL Server: Obwohl Configuration Manager SQL Server für die Datenspeicherung nutzt, ist SQL Server NICHT die primäre Programmierschnittstelle für Configuration Manager. Die primäre Programmierschnittstelle zum Configuration Manager ist der SMS-Anbieter (WMI). Objekterstellung und -änderung müssen über den SMS-Anbieter erfolgen. Sie sollten davon ausgehen, dass SQL Server schreibgeschützten Zugriff auf Configuration Manager-Daten für Abfrage- und Berichtszwecke bietet. Dabei geht es nicht um Berechtigungen, sondern um die Wahrung der Datenintegrität.
Namespaces und Klassen
Server
Primärer WMI-Namespace: STAMM\SMS\SITE_<Standortcode>
WMI-Klassen für Server:Configuration Manager API-Referenz
Client
Primärer WMI-Namespace: ROOT\CCM
Client WMI Classes:Configuration Manager API-Referenz
Wichtig
Die clientseitige Programmierung für Configuration Manager basiert in erster Linie auf WMI. In der Vergangenheit war eine Reihe von clientseitigen COM-Klassen die primäre Methode für den Zugriff auf Clientfunktionalität, obwohl auch zusätzliche clientseitige WMI-Klassen/Methoden verwendet wurden. Mit der Veröffentlichung von System Center 2012 Configuration Manager verlagert sich der Fokus auf eine Reihe von WMI-Klassen im Namespace: root/ccm/ClientSDK. Verständlicherweise bietet eine Abstraktion in Form von COM- oder spezifischen SDK-Klassen eine nützliche Abstraktion von zugrunde liegenden Architekturänderungen im Zuge von Produktupdates.
Konsole
Konsolenbezogene verwaltete Klassen:
Microsoft.configurationmanagement.exe
Microsoft.configurationmanagement.managementprovider.dll
Microsoft.ConfigurationManagement.DialogFoundation.dll
AdminUI.DialogFoundation.dll
Einführende Themen in die Configuration Manager-Konsole:
Grundlagen der Programmierung
Der Abschnitt "Grundlagen der Programmierung" des Configuration Manager des SDK enthält Beispiele für die Arbeit mit den verschiedenen Typen von Objekten und Strukturen, die im Configuration Manager verfügbar sind. Configuration Manager enthält einige Objekte/Konzepte, die anfänglich verwirrend sein können. Von besonderem Interesse sind eingebettete Eigenschaften (primär für die Standortsteuerungsdatei verwendet) und Lazy-Eigenschaften (für alle Configuration Manager-Klassen). Im Folgenden finden Sie Links zu den Programmiergrundlagen (und anderen Unterabschnitten) des SDK. Diese Abschnitte enthalten Codebeispiele, die zeigen, wie mit den verschiedenen Objekttypen gearbeitet wird.
Wichtig
Das SDK stellt am häufigsten Codebeispiele in VBScript und C# bereit. Dies bedeutet nicht, dass andere Sprachen nicht mit dem SMS-Anbieter funktionieren. Der SMS-Anbieter ist sprachunabhängig, solange die richtigen Objekte und Konstrukte ausgetauscht werden können. Verwenden Sie die Sprache (das Tool), die für Ihre Umgebung am besten geeignet ist. C# wird intern als Grundlage zum Testen der SDK-Codeausschnitte verwendet, daher werden Beispiele für Objektbearbeitung und Codekonstrukte am häufigsten in C# bereitgestellt. Wenn Sie eine andere Sprache verwenden, sollten Sie problemlos von C# in die Sprache Ihrer Wahl übersetzen können.
Grundlegende Tools
WBEMTEST
Wenn Sie viel Zeit mit dem Configuration Manager verbringen, werden Sie feststellen, dass ein Großteil davon über WMI läuft. WMI ist "Windows Management Instrumentation" und ist Microsofts Implementierung eines Internetstandards namens Web Based Enterprise Management (WBEM). Es gibt viele WMI-Tools. WBEMTEST ist jedoch auf den meisten Systemen sofort verfügbar, anstatt zuerst heruntergeladen zu werden. Sie können sich das wie Notepad.exe vorstellen – es gibt Text-Editoren mit umfangreicheren Funktionen, aber Notepad.exe ist immer zur Stelle, wenn Sie eine Textdatei anzeigen oder erstellen müssen.
Tipp
Das intern am häufigsten verwendete Tool bei der Fehlerbehebung bei Problemen mit SMS-Anbietern (Objekterstellung, -änderung und -löschung) ist WBEMTEST.
CMTrace
CMTrace: CMTrace ist ein angepasster Protokolldatei-Viewer, der bei der Überwachung und Problembehandlung von Configuration Manager nützlich ist. CMTrace bietet eine kontinuierliche Ansicht der Protokolldateiänderungen (anstatt neu laden zu müssen, um die protokollierten Aktivitäten zu überwachen) und ist besonders nützlich bei der Überwachung/Fehlerbehebung bei der Objekterstellung oder -änderung über den SMS-Anbieter (siehe SMSProv.log unten).
CMTrace befindet sich auf dem Configuration Manager-Standortserver unter dem Ordner "<Configuration Manager-Installationsverzeichnis>\Tools".
SMSProv.log: Die SMS-Anbieter-Protokolldatei (<Configuration Manager Installation Directory>\Logs\SMSProv.log) protokolliert die Aktivität des SMS-Anbieters und stellt Informationen auf niedriger Ebene bereit, die nützlich sind, um Probleme beim programmgesteuerten Erstellen oder Ändern Configuration Manager Objekte über den SMS-Anbieter zu überwachen und zu beheben.
Kundenspion und Richtlinienspion
Client-Spion: Ein Tool, mit dem Sie Probleme im Zusammenhang mit der Softwareverteilung, Inventarisierung und Softwaremessung auf System Center 2012 Configuration Manager-Clients beheben können.
Richtlinien-Spion: Ein Richtlinien-Viewer, der Ihnen hilft, das Richtliniensystem auf System Center 2012 Configuration Manager-Clients zu überprüfen und Probleme zu beheben.
Beispiel für ein Basic Configuration Manager-Programm
Im Folgenden finden Sie einen Link zu einem sehr einfachen Configuration Manager-Programm, das einige grundlegende Vorgänge zeigt, die vielen Configuration Manager-Programmen gemeinsam sind:
Connectan den SMS-Anbieter sendenListAlle ProgrammeErstellen eines neuen Programms
Ändern eines vorhandenen Programms
Vorhandenes Programm löschen
Einfaches Beispiel für Auflisten, Erstellen, Ändern und Löschen