Wprowadzenie do programowania programu Configuration Manager
Aby rozpocząć pracę z programowaniem dla programu Configuration Manager, warto mieć podstawową wiedzę funkcjonalną i architektoniczną programu Configuration Manager. Ponadto istnieje wiele kluczowych narzędzi i zasobów, które mają kluczowe znaczenie dla weryfikowania rozwiązań i rozwiązywania problemów. Poniżej znajdują się porady i zasoby dla kogoś nowego w programowaniu dla programu Configuration Manager.
Ważna
Należy pamiętać, że program Configuration Manager, wcześniej System Management Server (SMS), ma dość długą historię jako produkt. Podczas przeglądania przestrzeni nazw, klas, metod, właściwości i plików dziennika znajdziesz wiele odwołań zawierających ciąg "SMS" — w rzeczywistości większość klas WMI zaczyna się od "SMS_", a podstawowa przestrzeń nazw programu Configuration Manager WMI to "SMS". W ciągu lat zgromadziło się wiele starszych klas, metod i właściwości — nie jest to widoczne dla użytkownika administracyjnego, ale podczas programowania historia/starsza wersja może być myląca.
Opis funkcjonalny
Aby pomyślnie zautomatyzować lub rozszerzyć program Configuration Manager, niezwykle ważne jest uzyskanie funkcjonalnego zrozumienia produktu. Program Configuration Manager to wielowarstwowy, rozproszony system zarządzania, najczęściej rozłożony na wiele serwerów i wiele lokalizacji. Aby uzyskać więcej informacji, zobacz Podstawy programu Configuration Manager.
Więcej zasobów
Książki
System Center 2012 Configuration Manager: Mastering the Fundamentals
Microsoft System Center 2012 Configuration Manager: Podręcznik administracyjny
Filmy
Forum
Zrozumienie architektury
Program Configuration Manager to wielowarstwowy, rozproszony system zarządzania. Ważne jest, aby zrozumieć ogólną architekturę programu Configuration Manager. Poniżej znajduje się link do przeglądu architektury programu Configuration Manager.
Oprócz informacji o architekturze istnieje kilka kluczowych punktów, które często mylą administratorów i programistów w programie Configuration Manager.
Serwer: Ogólnie rzecz biorąc, większość akcji programowania (w szczególności automatyzacji) odbywa się na serwerze lokacji programu Configuration Manager. Akcje lub zmiany konfiguracji są propagowane w hierarchii programu Configuration Manager do klientów za pośrednictwem zasad. Zasady są ściągane przez klienta w konfigurowalnym interwale sondowania NIE są natychmiast wypychane do klienta przez serwer. Ogólnie rzecz biorąc, po zainstalowaniu klienta nie ma bezpośredniej komunikacji z serwera lokacji z klientem lub klientem do serwera lokacji — cała komunikacja odbywa się za pośrednictwem ról serwera pośredniczącego.
Klient: Klienci programu Configuration Manager to systemy i urządzenia zarządzane przez program Configuration Manager. "Serwer" może być klientem configuration manger. Serwer exchange, serwer usługi Active Directory i serwer programu Configuration Manager mogą być klientami programu Configuration Manager. Ponadto urządzenia z systemem Windows 10, Windows Phone i macOS mogą być klientami programu Configuration Manager.
Klienci programu Configuration Manager otrzymują zasady przez okresowe sondowanie punktu zarządzania programu Configuration Manager. Interwał sondowania pobierania podstawowych zasad można skonfigurować, podobnie jak inne ustawienia. W związku z tym występują nieodłączne opóźnienia w akcjach docelowych klienta zainicjowanych z serwera lokacji programu Configuration Manager.
Konsola: Pliki binarne i pliki konsoli programu Remote Configuration Manager nie są automatycznie aktualizowane po wprowadzeniu zmian na serwerze lokacji. Modyfikacje i rozszerzenia muszą być kopiowane do systemów z uruchomioną konsolą programu Configuration Manager ręcznie lub przy użyciu funkcji zarządzania aplikacjami/dystrybucji oprogramowania programu Configuration Manager.
Dostawca programu SMS a program SQL Server: Mimo że program Configuration Manager korzysta z programu SQL Server do przechowywania danych, program SQL Server NIE jest podstawowym interfejsem programowania programu Configuration Manager. Podstawowym interfejsem programowania programu Configuration Manager jest dostawca programu SMS (WMI) — tworzenie i modyfikowanie obiektu musi odbywać się za pośrednictwem dostawcy programu SMS. Należy wziąć pod uwagę, że program SQL Server zapewnia dostęp tylko do odczytu do danych programu Configuration Manager na potrzeby wykonywania zapytań i raportowania. Nie jest to kwestia uprawnień, a raczej utrzymania integralności danych.
Przestrzenie nazw i klasy
Serwer
Podstawowa przestrzeń nazw WMI: ROOT\SMS\SITE_<site code>
Klasy WMI serwera:dokumentacja interfejsu API programu Configuration Manager
Klient
Podstawowa przestrzeń nazw WMI: ROOT\CCM
Klasy WMI klienta:dokumentacja interfejsu API programu Configuration Manager
Ważna
Historia programowania po stronie klienta dla programu Configuration Manager rozwija się głównie w oparciu o usługę WMI. W przeszłości zestaw klas COM po stronie klienta był podstawową metodą używaną do uzyskiwania dostępu do funkcji klienta, chociaż były również używane dodatkowe klasy/metody WMI po stronie klienta. Wraz z wydaniem programu System Center 2012 Configuration Manager fokus jest przenoszony na zestaw klas WMI w przestrzeni nazw: root/ccm/ClientSDK. Co zrozumiałe, abstrakcja w postaci klas COM lub określonych zestawów SDK zapewnia użyteczną abstrakcję z bazowych zmian architektury w trakcie aktualizacji produktów.
Konsola
Klasy zarządzane związane z konsolą:
Microsoft.configurationmanagement.exe
Microsoft.configurationmanagement.managementprovider.dll
Microsoft.ConfigurationManagement.DialogFoundation.dll
AdminUI.DialogFoundation.dll
Tematy dotyczące konsoli programu Configuration Manager wprowadzającego:
Informacje o rozszerzeniu konsoli programu Configuration Manager
Architektura rozszerzenia konsoli programu Configuration Manager
Podstawy programowania
Sekcja Podstawy programowania programu Configuration Manager zestawu SDK zawiera przykłady pracy z różnymi typami obiektów i struktur dostępnych w programie Configuration Manager. Program Configuration Manager zawiera pewne obiekty/pojęcia, które mogą być początkowo mylące. Szczególnie interesujące są właściwości osadzone (używane jako podstawowe z plikiem kontroli lokacji) i właściwości z opóźnieniem (używane w klasach programu Configuration Manager). Poniżej znajdują się linki do podstaw programowania (i innych sekcji podrzędnych) zestawu SDK. Te sekcje zawierają przykłady kodu pokazujące, jak pracować z różnymi typami obiektów.
Ważna
Zestaw SDK najczęściej udostępnia przykłady kodu w języku VBScript i C#. Nie oznacza to, że inne języki nie będą działać z dostawcą programu SMS. Dostawca programu SMS jest niezależny od języka, o ile można wymienić odpowiednie obiekty i konstrukcje. Użyj języka (narzędzia), który jest najbardziej odpowiedni dla danego środowiska. Język C# jest używany wewnętrznie jako punkt odniesienia do testowania fragmentów kodu zestawu SDK, dlatego przykłady manipulowania obiektami i konstrukcji kodu będą najczęściej udostępniane w języku C#. Jeśli używasz innego języka, powinno być wygodne tłumaczenie z języka C# na wybrany język.
Podstawowe narzędzia
WBEMTEST
Jeśli spędzasz dużo czasu wokół programu Configuration Manager, wiesz, że wiele z nich działa za pośrednictwem usługi WMI. WMI to "Instrumentacja zarządzania Windows" i jest implementacją przez firmę Microsoft standardu internetowego o nazwie Web Based Enterprise Management (WBEM). Istnieje wiele narzędzi WMI. Jednak program WBEMTEST jest natychmiast dostępny w większości systemów, zamiast najpierw zostać pobrany. Można to traktować jak Notepad.exe — dostępne są edytory tekstów z bogatszymi możliwościami, ale Notepad.exe jest zawsze dostępna, gdy trzeba wyświetlić lub utworzyć plik tekstowy.
Wprowadzenie do narzędzia WBEMTEST
Porada
Wewnętrznie najczęściej używanym narzędziem podczas rozwiązywania problemów związanych z dostawcą programu SMS (tworzenie, modyfikowanie i usuwanie obiektów) jest WBEMTEST.
CMTrace
CMTrace: CMTrace to dostosowana przeglądarka plików dziennika, która jest przydatna podczas monitorowania i rozwiązywania problemów z programem Configuration Manager. Funkcja CMTrace zapewnia ciągły widok zmian w pliku dziennika (zamiast ponownego ładowania w celu monitorowania zarejestrowanej aktywności) i jest szczególnie przydatna podczas monitorowania/rozwiązywania problemów z tworzeniem lub modyfikowaniem obiektu za pośrednictwem dostawcy programu SMS (zobacz SMSProv.log poniżej).
Narzędzie CMTrace można znaleźć na serwerze lokacji programu Configuration Manager w folderze "<Configuration Manager Installation Directory>\tools".
SMSProv.log: Plik dziennika dostawcy programu SMS (<Configuration Manager Installation Directory>\Logs\SMSProv.log) rejestruje działanie dostawcy programu SMS i udostępnia informacje niskiego poziomu, które są przydatne do monitorowania/rozwiązywania problemów podczas programowego tworzenia lub modyfikowania obiektów programu Configuration Manager za pośrednictwem dostawcy programu SMS.
Szpieg klienta i szpieg zasad
Szpieg klienta: Narzędzie, które ułatwia rozwiązywanie problemów związanych z dystrybucją oprogramowania, spisem i pomiarem użytkowania oprogramowania na klientach programu System Center 2012 Configuration Manager.
Szpieg zasad: Przeglądarka zasad, która ułatwia przeglądanie systemu zasad i rozwiązywanie problemów z nimi na klientach programu System Center 2012 Configuration Manager.
Przykład programu Basic Configuration Manager
Poniżej znajduje się link do bardzo prostego programu Configuration Manager z kilkoma podstawowymi operacjami typowymi dla wielu programów programu Configuration Manager:
Connect
do dostawcy programu SMSList
wszystkie programyTworzenie nowego programu
Modyfikowanie istniejącego programu
Usuwanie istniejącego programu