Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
För att komma igång med programmering för Configuration Manager är det fördelaktigt att ha en grundläggande funktionell och arkitektonisk förståelse för Configuration Manager. Dessutom finns det ett antal viktiga verktyg och resurser som är avgörande för att validera och felsöka lösningar. Nedan finns tips och resurser för någon som är ny på programmering för Configuration Manager.
Viktigt
Du bör känna till att Configuration Manager, tidigare Systems Management Server (SMS), har en ganska lång historia som produkt. När du granskar namnrymder, klasser, metoder, egenskaper och loggfiler hittar du många referenser som innehåller "SMS" – i själva verket börjar de flesta WMI-klasser med "SMS_" och det primära Configuration Manager WMI-namnområdet är "SMS". Under årens lopp har många äldre klasser, metoder och egenskaper ackumulerats – vilket inte är uppenbart för en administrativ användare, men när man programmerar historiken/arvet kan det vara förvirrande.
Funktionell förståelse
För att framgångsrikt automatisera eller utöka Configuration Manager är det otroligt viktigt att få en funktionell förståelse för produkten. Configuration Manager är ett distribuerat hanteringssystem med flera nivåer, oftast fördelat på flera servrar och flera platser. Mer information finns i Grunderna i Configuration Manager.
Fler resurser
Böcker
System Center 2012 Configuration Manager: Bemästra grunderna
Microsoft System Center 2012 Configuration Manager: Administration Cookbook
Videor
Forum
Arkitektonisk förståelse
Configuration Manager är ett distribuerat hanteringssystem med flera nivåer. Det är viktigt att förstå den allmänna arkitekturen i Configuration Manager. Nedan visas en länk till en översikt över Configuration Manager-arkitekturen.
Förutom den arkitektoniska informationen finns det flera viktiga punkter som ofta förvirrar administratörer och programmerare som är nya i Configuration Manager.
Server: I allmänhet sker de flesta programmeringsåtgärder (särskilt automatisering) på en Configuration Manager platsserver. Åtgärder eller konfigurationsändringar sprids i hela Configuration Manager hierarkin till klienterna via principen. Principen hämtas av klienten med ett konfigurerbart avsökningsintervall som INTE skickas direkt till klienten av servern. När en klient väl har installerats sker i allmänhet ingen direkt kommunikation från platsservern till klienten eller från klienten till platsservern – all kommunikation sker via mellanliggande serverroller.
Klient: Configuration Manager klienter är system och enheter som hanteras av Configuration Manager. En "server" kan vara en Configuration Manger-klient. En Exchange-server, en Active Directory-server och en Configuration Manager-server kan alla vara Configuration Manager klienter. Dessutom kan Windows 10, Windows Phone och macOS-enheter alla vara Configuration Manager klienter.
Configuration Manager klienter tar emot principer genom att regelbundet avsöka en Configuration Manager Management Point. Avsökningsintervallet för att hämta grundläggande princip kan konfigureras, liksom andra inställningar. Därför finns det inbyggda fördröjningar i klientriktade åtgärder som initieras från Configuration Manager-platsservern.
Konsol: Binärfiler och filer för Configuration Manager fjärransluten konsol uppdateras inte automatiskt när ändringar görs på platsservern. Ändringar och tillägg måste kopieras till system som kör Configuration Manager -konsolen, antingen manuellt eller med hjälp av Configuration Manager Application Management/Software Distribution.
SMS-provider jämfört med SQL Server: Även om Configuration Manager använder SQL Server för datalagring är SQL Server INTE det primära programmeringsgränssnittet för Configuration Manager. Det primära programmeringsgränssnittet för Configuration Manager är SMS-providern (WMI) – objekt måste skapas och ändras via SMS-providern. Du bör överväga SQL Server som tillhandahåller skrivskyddad åtkomst till Configuration Manager -data för frågor och rapportering. Det här är inte en fråga om behörigheter, utan snarare en fråga om att upprätthålla dataintegriteten.
Namnrymder och klasser
Server
Primär WMI-namnrymd: ROOT\SMS\SITE_<site code>
WMI-klasser för server:API-referens för Configuration Manager
Klient
Primär WMI-namnrymd: ROT\CCM
Klient-WMI-klasser:API-referens för Configuration Manager
Viktigt
Programmeringsberättelsen på klientsidan för Configuration Manager utvecklas till att främst vara WMI-baserad. Tidigare var en uppsättning COM-klasser på klientsidan den primära metoden som användes för att komma åt klientfunktioner, även om ytterligare WMI-klasser/metoder på klientsidan också användes. Med utgivningen av System Center 2012 Configuration Manager flyttas fokus till en uppsättning WMI-klasser i namnområdet: root/ccm/ClientSDK. Det är förståeligt att en abstraktion, i form av COM eller specifika SDK-klasser, ger en användbar abstraktion från underliggande arkitekturändringar under produktuppdateringar.
Konsol
Konsolrelaterade hanterade klasser:
Microsoft.configurationmanagement.exe
Microsoft.configurationmanagement.managementprovider.dll
Microsoft.ConfigurationManagement.DialogFoundation.dll
AdminUI.DialogFoundation.dll
Inledande ämnen om Configuration Manager-konsolen:
Grunderna i programmering
Avsnittet Configuration Manager Programming Fundamentals i SDK innehåller exempel på hur du arbetar med de olika typerna av objekt och strukturer som är tillgängliga i Configuration Manager. Configuration Manager innehåller vissa objekt/begrepp som kan vara förvirrande i början. Inbäddade egenskaper (används primärt med platskontrollfilen) och lata egenskaper (används i hela Configuration Manager klasserna). Nedan finns länkar till grunderna i programmering (och andra underavsnitt) i SDK:et. De här avsnitten innehåller kodexempel som visar hur du arbetar med de olika objekttyperna.
Viktigt
SDK:n innehåller oftast kodexempel i VBScript och C#. Det betyder inte att andra språk inte fungerar med SMS-leverantören. SMS-providern är språkagnostisk, så länge rätt objekt och konstruktioner kan utbytas. Använd det språk (verktyg) som passar bäst för din miljö. C# används internt som en baslinje för att testa SDK-kodfragmenten, så exempel på objektmanipulation och kodkonstruktioner tillhandahålls oftast i C#. Om du använder ett annat språk bör du vara bekväm med att översätta från C# till det språk du väljer.
Grundläggande verktyg
WBEMTEST (på engelska)
Om du tillbringar mycket tid runt Configuration Manager blir du medveten om att mycket av det körs genom WMI. WMI står för "Windows Management Instrumentation" och är Microsofts implementering av en Internetstandard som kallas Web Based Enterprise Management (WBEM). Det finns många WMI-verktyg där ute. WBEMTEST är dock omedelbart tillgängligt på de flesta system, snarare än att behöva laddas ner först. Du kanske tänker på det som Notepad.exe – det finns textredigerare med fler funktioner tillgängliga, men Notepad.exe finns alltid där när du behöver visa eller skapa en textfil.
Tips
Internt är WBEMTEST det vanligaste verktyget när man felsöker problem med SMS-providern (skapande och radering av objekt).
CMTrace
CMTrace: CMTrace är ett anpassat loggfilsvisningsprogram som är användbart vid övervakning och felsökning av Configuration Manager. CMTrace ger en kontinuerlig vy över loggfilens ändringar (i stället för att behöva läsa in igen för att övervaka loggad aktivitet) och är särskilt användbart vid övervakning/felsökning av skapande eller ändring av objekt via SMS-providern (se SMSProv.log nedan).
CMTrace finns på Configuration Manager-platsservern under mappen "<Configuration Manager Installation Directory>\tools".
SMSProv.log: SMS-providerloggfil (<Configuration Manager Installation Directory>\Logs\SMSProv.log) loggar SMS-leverantörens aktivitet och ger information på låg nivå som är användbar för att övervaka/felsöka problem när du programmatiskt skapar eller ändrar Configuration Manager objekt via SMS-providern.
Klientspion och policyspion
Client Spy: Ett verktyg som hjälper dig att felsöka problem som rör programvarudistribution, inventering och avläsning av programvara på System Center 2012 Configuration Manager-klienter.
Policy Spy: Ett principvisningsprogram som hjälper dig granska och felsöka principsystemet på System Center 2012 Configuration Manager klienter.
Exempel på programmet Grundläggande Configuration Manager
Nedan är länk till ett mycket enkelt Configuration Manager program som visar några grundläggande operationer som är gemensamma för många Configuration Manager program:
Connecttill SMS-leverantörenListAlla programSkapa ett nytt program
Ändra ett befintligt program
Ta bort ett befintligt program