Lesezeit
3 Minuten
Anwendungen verteilen mit SCCM (1)
Geht es um die Verwaltung großer Clientflotten von mehreren Zehntausend Desktops, Laptops und Tablets, kommen Administratoren an System Center Configuration Manager, kurz SCCM, nur schwer vorbei. Auch der Vormarsch von Intune hat an der Relevanz des ersten und ältesten Mitglieds der System-Center-Familie nichts geändert. Wir zeigen, welche Möglichkeiten der Applikationsverwaltung Ihnen im SCCM zur Verfügung stehen. Im ersten Teil des Workshops gehen wir besonders auf die verschiedenen Arten der Anwendungsbereitstellung ein.
Einer der größten Nachteile, die Hersteller anderer Werkzeuge im SCCM sehen, ist das Fehlen einer eigenen Paketierungsumgebung. Aus der Sicht eines KMU-Admins ist der Vorwurf auch gerechtfertigt: Hier bedarf es eines Tools für den gesamten Themenkomplex "Applikationen auf Clients". Allerdings sind Organisationen, in denen Test und Deployment von Applikationen in einer Hand liegen, nicht unbedingt die Zielgruppe von System Center, war doch der Werbeslogan der Produktfamilie fast 15 Jahre lang "Designed for big".
Es ist vielmehr das Anliegen des SCCM, Betriebssysteme und Softwarepakete sicher und robust zum Endanwender zu bringen – und das auf unterschiedlichen Plattformen und über unterschiedlich gute Netzanbindungen. Die tatsächliche Ausgestaltung der einzelnen Pakete überlässt SCCM Menschen und Werkzeugen, die darauf spezialisiert sind. Denn, wie wir gleich sehen werden, ein und dieselbe Applikation kann im SCCM viele Gesichter haben, und nicht alle davon haben zwingend etwas mit Paketierung zu tun.
Für diesen Workshop haben wir die offizielle deutsche Terminologie des SCCM gewählt. Eingefleischte SCCM-Administratoren bevorzugen normalerweise die englischen Konsolen und Begriffe, da insbesondere aus der Community mehr Informationen in englischer Sprache vorliegen als in Deutsch.
Problemlöser SCCM
Administratoren und Entscheider, deren letzte Erfahrung mit SCCM aus dem Zeitalter der Version 2007 oder früher stammt und damit über zehn Jahre zurückliegt, kennen noch die "Pakete", die relativ stumpf vordefinierte Aktionen auf einer bestimmten Menge gemanagter Clients ("Sammlung") ausgeführt und das Ergebnis pro Client zurück an den Server berichtet haben. Diese Konstruktionen existieren immer noch, Sie können also SCCM 1910 auf die gleiche Art betreiben, wie damals SMS 2003. Doch hat die Entwicklung des SCCM seit Version 2012 eine entscheidende Wendung genommen.
Der moderne SCCM (oder wie das Produkt seit der Version 1910 heißt: Microsoft Endpoint Configuration Manager) verfolgt das Ziel, Applikationen zu Endbenutzern zu bringen. Das Endgerät und die Infrastruktur dazwischen sind dabei nur Hilfsmittel, die eine optimale Benutzererfahrung in Bezug auf diese Applikation ermöglichen sollen. Allerdings sind die Endgeräte in der heutigen IT-Welt so divers, dass nicht jede Applikation auf jedem Endgerät auf die herkömmliche Art installiert werden kann. Typische Problemfälle sind:
Im SCCM Current Branch ist seit Version 1902 die Verwaltung von Unix- und Linux-Clients übrigens nicht mehr enthalten. Für die Überwachung von Konfigurationen und Systemereignissen verweist der Hersteller auf den Azure Monitor [1], die Softwareverteilung muss bei diesen Clients mit anderen Werkzeugen wie etwa Ansible erfolgen.
Arten der Anwendungsbereitstellung
Um die benutzerzentrische Philosophie der Anwendungsbereitstellung umzusetzen, hat Microsoft das Konzept des "Pakets" aus Vorgängerversionen radikal erweitert. Seit SCCM 2012 heißt das neue Bereitstellungsvehikel "Anwendungen". Folgte ein Paket einem rein deklarativen Ansatz (führe das Programm X aus und melde das Ergebnis zurück), sind die Anwendungen eher deskriptiv und versuchen, das Endgerät aus dem Status "Anwendung nicht installiert" in den Status "Anwendung installiert" zu bekommen. Als Pendant dazu verfügen SCCM-Anwendungen auch über die Fähigkeit, eine geordnete Deinstallation vorzunehmen.
Was "Anwendung installiert" tatsächlich bedeutet, hängt von dem Endgerät ab, auf dem die Bereitstellung erfolgen soll. Um verschiedene Konstellationen abzubilden, können Anwendungen über mehrere Installationsvorschriften, sogenannte "Bereitstellungstypen", verfügen. Jeder Bereitstellungstyp ist an bestimmte Bedingungen wie Betriebssystem, Sprache, vorhandene Ressourcen, oder Zugehörigkeit des Geräts (Firma oder privat) geknüpft. Folgende Bereitstellungstypen sind im Standard-Lieferumfang des SCCM enthalten:
Die Parameter, die bestimmen, wie eine Anwendung zum Benutzer kommt und wie sie im Anwendungskatalog aussieht, sind im Datenmodell von SCCM zwischen Anwendung, Bereitstellungstypen innerhalb der Anwendung und der Bereitstellung – sprich, Zuweisung der Anwendung an eine Geräte- oder Benutzersammlung – aufgeteilt (siehe Tabelle unten). Durch ein geschicktes Kombinieren dieser Einstellungen können Sie genau die Bereitstellungstopologie erreichen, die Ihre Endgeräte-Landschaft am besten abbildet.
dr/ln/Evgenij Smirnov
Es ist vielmehr das Anliegen des SCCM, Betriebssysteme und Softwarepakete sicher und robust zum Endanwender zu bringen – und das auf unterschiedlichen Plattformen und über unterschiedlich gute Netzanbindungen. Die tatsächliche Ausgestaltung der einzelnen Pakete überlässt SCCM Menschen und Werkzeugen, die darauf spezialisiert sind. Denn, wie wir gleich sehen werden, ein und dieselbe Applikation kann im SCCM viele Gesichter haben, und nicht alle davon haben zwingend etwas mit Paketierung zu tun.
Für diesen Workshop haben wir die offizielle deutsche Terminologie des SCCM gewählt. Eingefleischte SCCM-Administratoren bevorzugen normalerweise die englischen Konsolen und Begriffe, da insbesondere aus der Community mehr Informationen in englischer Sprache vorliegen als in Deutsch.
Problemlöser SCCM
Administratoren und Entscheider, deren letzte Erfahrung mit SCCM aus dem Zeitalter der Version 2007 oder früher stammt und damit über zehn Jahre zurückliegt, kennen noch die "Pakete", die relativ stumpf vordefinierte Aktionen auf einer bestimmten Menge gemanagter Clients ("Sammlung") ausgeführt und das Ergebnis pro Client zurück an den Server berichtet haben. Diese Konstruktionen existieren immer noch, Sie können also SCCM 1910 auf die gleiche Art betreiben, wie damals SMS 2003. Doch hat die Entwicklung des SCCM seit Version 2012 eine entscheidende Wendung genommen.
Der moderne SCCM (oder wie das Produkt seit der Version 1910 heißt: Microsoft Endpoint Configuration Manager) verfolgt das Ziel, Applikationen zu Endbenutzern zu bringen. Das Endgerät und die Infrastruktur dazwischen sind dabei nur Hilfsmittel, die eine optimale Benutzererfahrung in Bezug auf diese Applikation ermöglichen sollen. Allerdings sind die Endgeräte in der heutigen IT-Welt so divers, dass nicht jede Applikation auf jedem Endgerät auf die herkömmliche Art installiert werden kann. Typische Problemfälle sind:
- Eine 64-Bit-Anwendung muss bereitgestellt werden, das Endgerät verfügt aber lediglich über ein 32-Bit-Betriebssystem.
- Eine Windows-Applikation soll ausgerollt werden, das Endgerät ist jedoch ein macOS-, iOS- oder Android-Client.
- Eine Anwendung hat sehr hohe CPU- und RAM-Anforderungen, das Endgerät verfügt aber nur über geringe Ressourcen.
- Ein Programm erfordert 10 GByte Festplattenplatz für die Installation, das Endgerät verfügt jedoch nur über 7 GByte.
- Eine Anwendung unterstützt ausschließlich Pass-Through-Authentifizierung zu ihrem Backend, während das Endgerät jedoch nicht Mitglied in der Domäne ist.
- Eine Applikation verarbeitet Daten, auf die aus der Region, in der sich der Benutzer gerade befindet, nicht zugegriffen werden darf.
Im SCCM Current Branch ist seit Version 1902 die Verwaltung von Unix- und Linux-Clients übrigens nicht mehr enthalten. Für die Überwachung von Konfigurationen und Systemereignissen verweist der Hersteller auf den Azure Monitor [1], die Softwareverteilung muss bei diesen Clients mit anderen Werkzeugen wie etwa Ansible erfolgen.
Arten der Anwendungsbereitstellung
Um die benutzerzentrische Philosophie der Anwendungsbereitstellung umzusetzen, hat Microsoft das Konzept des "Pakets" aus Vorgängerversionen radikal erweitert. Seit SCCM 2012 heißt das neue Bereitstellungsvehikel "Anwendungen". Folgte ein Paket einem rein deklarativen Ansatz (führe das Programm X aus und melde das Ergebnis zurück), sind die Anwendungen eher deskriptiv und versuchen, das Endgerät aus dem Status "Anwendung nicht installiert" in den Status "Anwendung installiert" zu bekommen. Als Pendant dazu verfügen SCCM-Anwendungen auch über die Fähigkeit, eine geordnete Deinstallation vorzunehmen.
Bild 1: Die verschiedenen Deployment-Typen in SCCM.
Was "Anwendung installiert" tatsächlich bedeutet, hängt von dem Endgerät ab, auf dem die Bereitstellung erfolgen soll. Um verschiedene Konstellationen abzubilden, können Anwendungen über mehrere Installationsvorschriften, sogenannte "Bereitstellungstypen", verfügen. Jeder Bereitstellungstyp ist an bestimmte Bedingungen wie Betriebssystem, Sprache, vorhandene Ressourcen, oder Zugehörigkeit des Geräts (Firma oder privat) geknüpft. Folgende Bereitstellungstypen sind im Standard-Lieferumfang des SCCM enthalten:
- MSI-Pakete, wahlweise über SCCM oder über Intune ausgeliefert.
- MSIX-Paketformate [2], wahlweise durch SCCM ausgeliefert oder als Link zum Microsoft Store.
- App-V-Pakete (für Versionen 4.x und 5.x).
- Mobile-Apps (XAP für Windows Mobile, IPA für iOS oder APS für Android), wahlweise durch SCCM ausgeliefert oder als Link zum jeweiligen App-Store.
- macOS-X-Installationspakete.
- Webanwendungen (erzeugen URL-Verknüpfungen im Startmenü).
- Skript-Installationsprogramme.
Die Parameter, die bestimmen, wie eine Anwendung zum Benutzer kommt und wie sie im Anwendungskatalog aussieht, sind im Datenmodell von SCCM zwischen Anwendung, Bereitstellungstypen innerhalb der Anwendung und der Bereitstellung – sprich, Zuweisung der Anwendung an eine Geräte- oder Benutzersammlung – aufgeteilt (siehe Tabelle unten). Durch ein geschicktes Kombinieren dieser Einstellungen können Sie genau die Bereitstellungstopologie erreichen, die Ihre Endgeräte-Landschaft am besten abbildet.
Im ersten Teil
des Workshops gehen wir besonders auf die verschiedenen Arten der Anwendungsbereitstellung ein. In der zweiten Folge
werfen wir einen Blick auf praktische Drittanbieter-Erweiterungen und
erklären, warum das passende Applikationsdesign beim Ausrollen von
Anwendungen wichtig ist. Im dritten Teil des Workshops schildern wir, wie sich auch komplexe Applikationen über ihren gesamten Lebenszyklus hinweg verwalten lassen.
dr/ln/Evgenij Smirnov