Softwareverteilung

KAPITEL 10 · ENTERPRISE IT

Softwareverteilung

Wie Unternehmen Software effizient auf tausende Endgeräte verteilen – von klassischen Methoden wie GPO und SCCM bis zu modernen Cloud-Lösungen wie Intune und Automatisierungstools wie Ansible.

SCCM / MECM Intune GPO Ansible Paketierung

Inhaltsverzeichnis

Schnellübersicht

Auf dieser Seite lernst du alles über Softwareverteilung in der Enterprise IT:

  • Definition: Was ist Softwareverteilung?
  • Verteilungsmethoden: Push, Pull, GPO, Skripte
  • Tools & Lösungen: SCCM, Intune, PDQ, Ansible, Puppet
  • Paketformate: MSI, EXE, APPX, DEB, RPM
  • Deployment-Prozess: Von der Planung bis zum Rollout
  • Deployment-Strategien: Ring, Canary, Blue-Green
  • Vergleichstabelle: Tools im Überblick
  • Best Practices: Bewährte Methoden
  • FAQ: Häufige Fragen
  • Praxisaufgaben: Übungen mit Lösungen

1. Was ist Softwareverteilung?

Definition

Softwareverteilung (Software Deployment) bezeichnet den Prozess, Software automatisiert auf Computer, Server oder mobile Geräte in einem Unternehmen zu installieren, zu konfigurieren, zu aktualisieren und zu deinstallieren.

In modernen Unternehmen mit hunderten oder tausenden Endgeräten ist eine manuelle Installation nicht mehr praktikabel. Softwareverteilungssysteme ermöglichen:

  • Automatisierte Installation: Software wird ohne manuellen Eingriff verteilt
  • Zentrale Verwaltung: Ein Administrator steuert alle Geräte
  • Konsistente Konfiguration: Alle Geräte haben identische Einstellungen
  • Patch-Management: Sicherheitsupdates werden automatisch verteilt
  • Compliance: Nur lizenzierte und freigegebene Software ist installiert
  • Reporting: Übersicht über installierte Software auf allen Geräten

Einfache Analogie

Logistik-Analogie

Stell dir Softwareverteilung wie eine Lieferkette vor:

  • Hersteller (Software-Hersteller): Erstellt das Produkt (Software-Paket)
  • Zentrallager (Distribution Point): Lagert die Pakete zentral
  • Lieferwagen (Deployment-Tool): Transportiert zu den Zielen
  • Filialen (Endgeräte): Empfangen und installieren die Software
  • Qualitätskontrolle (Testing): Prüft vor der Auslieferung

Ohne Softwareverteilung müsste jede Filiale (jeder PC) einzeln beliefert werden – ineffizient und fehleranfällig.

2. Verteilungsmethoden

Es gibt verschiedene Methoden, Software auf Endgeräte zu verteilen. Jede hat ihre Vor- und Nachteile.

Push-Methode

Server initiiert die Verteilung

Der Verteilungsserver schiebt die Software aktiv auf die Zielgeräte. Der Administrator bestimmt Zeitpunkt und Zielgruppe.

  • Zentrale Kontrolle über Zeitpunkt
  • Geeignet für kritische Updates
  • Sofortige Verteilung möglich
  • Zielgeräte müssen erreichbar sein
Einsatz: SCCM, PDQ Deploy, WSUS

Pull-Methode

Client holt die Software ab

Der Client prüft regelmäßig beim Server, ob neue Software verfügbar ist, und lädt sie bei Bedarf herunter.

  • Entlastet das Netzwerk
  • Funktioniert auch offline
  • Ideal für mobile Geräte
  • Weniger Kontrolle über Zeitpunkt
Einsatz: Intune, Windows Update, apt/yum

Gruppenrichtlinien (GPO)

Active Directory Integration

Über Active Directory Gruppenrichtlinien können MSI-Pakete automatisch bei Computerstart oder Benutzeranmeldung installiert werden.

  • In Windows Server integriert
  • Keine Zusatzkosten
  • Nur MSI-Pakete unterstützt
  • Begrenzte Funktionen
Einsatz: Kleine bis mittlere Unternehmen mit AD

Skript-basiert

PowerShell, Bash, Batch

Skripte werden auf den Zielgeräten ausgeführt und installieren Software über Kommandozeilen-Parameter (silent install).

  • Maximale Flexibilität
  • Plattformübergreifend
  • Komplexe Installationen möglich
  • Erfordert Skript-Kenntnisse
Einsatz: Ansible, Puppet, SCCM Scripts, Logon-Scripts

Push vs. Pull – Wann welche Methode?

  • Push: Für kritische Sicherheitsupdates, die sofort verteilt werden müssen
  • Pull: Für reguläre Updates, bei denen der Zeitpunkt flexibel ist
  • Hybrid: Moderne Systeme kombinieren beide Methoden (z.B. Intune)

3. Tools & Lösungen im Überblick

Es gibt zahlreiche Tools für die Softwareverteilung – von Microsoft-Lösungen bis zu Open-Source-Alternativen.

SCCM / MECM

Microsoft Endpoint Configuration Manager

Der Enterprise-Standard für On-Premise Softwareverteilung. Umfassende Funktionen für große Umgebungen.

  • Softwareverteilung & Updates
  • OS Deployment (OSD)
  • Inventory & Compliance
  • Remote Control
  • Endpoint Protection
Lizenz: Kostenpflichtig (Teil von EMS)

Microsoft Intune

Cloud-basiertes UEM

Cloud-basierte Lösung für Modern Management. Ideal für hybride Umgebungen und mobile Geräte.

  • Cloud-basiert (SaaS)
  • Windows, macOS, iOS, Android
  • MDM & MAM
  • Autopilot für Provisioning
  • Conditional Access
Lizenz: Kostenpflichtig (Teil von EMS/M365)

Ansible

Red Hat (Open Source)

Agentenloses Automatisierungstool. Nutzt YAML-Playbooks und SSH/WinRM für die Kommunikation.

  • Agentenlos (SSH/WinRM)
  • YAML Playbooks
  • Linux, Windows, Netzwerk
  • Konfiguration & Deployment
  • Große Community
Lizenz: Open Source (GPLv3)

Puppet

Puppet Inc.

Configuration-Management-Tool mit deklarativem Ansatz. Definiert den gewünschten Zustand (Desired State).

  • Deklarative Sprache
  • Agent-basiert
  • Desired State Configuration
  • Puppet Forge (Module)
  • Enterprise-Support
Lizenz: Open Source + Enterprise

PDQ Deploy

PDQ.com

Einfaches, leichtgewichtiges Tool für Windows-Umgebungen. Ideal für kleine bis mittlere Unternehmen.

  • Einfach zu bedienen
  • MSI, EXE, Skripte
  • Schedule & Trigger
  • Inventory (PDQ Inventory)
  • Günstige Lizenzierung
Lizenz: Kostenpflichtig (ab ~500 $)

WSUS

Windows Server Update Services

Kostenlose Microsoft-Lösung für Windows-Updates. Verteilt nur Updates, keine Drittanbieter-Software.

  • Kostenlos (in Windows Server)
  • Windows & Microsoft Updates
  • Approval-Workflow
  • Computer-Gruppen
  • Begrenzte Funktionen
Lizenz: Kostenlos

Tool-Vergleich

Tool Plattform Agent Cloud/On-Prem OS Deployment Preis
SCCM / MECM Windows On-Premise $$$$
Intune Multi-Plattform Cloud $$$
Ansible Multi-Plattform Beides Free / $$$
Puppet Multi-Plattform Beides Free / $$$
PDQ Deploy Windows On-Premise $$
WSUS Windows On-Premise Free
GPO Windows On-Premise Free

4. Paketformate

Software wird in verschiedenen Paketformaten verteilt. Jedes Format hat spezifische Eigenschaften und Einsatzgebiete.

.msi
Windows Installer

Standard für Windows-Software. Unterstützt silent install, Transforms (MST) und GPO-Verteilung.

.exe
Executable Installer

Flexible Installer (InstallShield, InnoSetup). Silent-Parameter herstellerspezifisch (/S, /quiet, /silent).

.msix / .appx
Modern Windows Apps

Containerisierte Apps für Windows 10/11. Saubere Deinstallation, keine Registry-Verschmutzung.

.deb
Debian Package

Paketformat für Debian, Ubuntu, Linux Mint. Installation mit dpkg oder apt.

.rpm
Red Hat Package

Paketformat für RHEL, CentOS, Fedora, SUSE. Installation mit rpm oder yum/dnf.

.pkg
macOS Package

Installer-Paket für macOS. Verteilung über MDM (Intune, Jamf) oder installer-Befehl.

Silent-Install-Parameter

Für die automatisierte Installation müssen Installer ohne Benutzerinteraktion laufen:

BEISPIELE # MSI-Paket (immer gleich) msiexec /i "paket.msi" /qn /norestart # EXE mit InstallShield setup.exe /s /v"/qn" # EXE mit InnoSetup setup.exe /verysilent /norestart # EXE mit Wise setup.exe /s # Debian Package sudo dpkg -i paket.deb # Red Hat Package sudo rpm -i paket.rpm

5. Der Deployment-Prozess

Softwareverteilung folgt einem strukturierten Prozess – von der Anforderung bis zum erfolgreichen Rollout.

7 Schritte zum erfolgreichen Deployment

1
Anforderung

Fachbereich beantragt Software. Prüfung auf Lizenz, Kompatibilität und Sicherheit.

2
Paketierung

Software wird paketiert, silent-Parameter getestet und Konfiguration vorbereitet.

3
Testing

Installation in Test-Umgebung. Prüfung auf Kompatibilität, Performance und Stabilität.

4
Pilot

Ausrollen auf eine kleine Nutzergruppe (Pilot-User). Feedback sammeln und Probleme beheben.

5
Deployment

Verteilung auf alle Zielgeräte. Überwachung des Fortschritts und Erfolgsrate.

6
Monitoring

Erfolgsquote prüfen. Fehlerhafte Installationen identifizieren und nachfassen.

7
Dokumentation

Deployment dokumentieren. Lessons Learned festhalten und Runbook aktualisieren.

Wichtig: Testing vor Produktiv-Rollout!

Niemals Software direkt in der Produktion ausrollen. Immer zuerst in einer Test-Umgebung und dann in einer Pilot-Gruppe testen. Dies verhindert:

  • Kompatibilitätsprobleme mit anderen Anwendungen
  • Performance-Einbrüche auf Endgeräten
  • Massenhafte Support-Tickets
  • Produktionsausfälle

6. Deployment-Strategien

Moderne Deployment-Strategien minimieren das Risiko bei Software-Rollouts und ermöglichen schnelles Feedback.

Ring Deployment

Ausrollen in konzentrischen Ringen – von innen nach außen. Jeder Ring ist größer als der vorherige.

Ablauf: Ring 0: IT-Team (5-10 User)
Ring 1: Pilot-User (50-100)
Ring 2: Early Adopters (500)
Ring 3: Gesamte Organisation

Canary Release

Benannt nach Kanarienvögeln in Bergwerken. Kleine Nutzergruppe testet zuerst – bei Problemen sofortiger Rollback.

Ablauf: 1. Neue Version für 1-5% der User
2. Metriken überwachen (Fehlerrate, Performance)
3. Bei Problemen: Sofortiger Rollback
4. Bei Erfolg: Schrittweise Ausweitung

Blue-Green Deployment

Zwei identische Umgebungen (Blue und Green). Neue Version wird in der inaktiven Umgebung deployed und dann umgeschaltet.

Ablauf: 1. Blue = aktuelle Produktion
2. Neue Version in Green deployen
3. Tests in Green durchführen
4. Traffic von Blue auf Green umleiten
5. Blue wird zur neuen Staging-Umgebung

Shadow Deployment

Neue Version läuft parallel zur alten, bekommt echten Traffic, aber Ergebnisse werden nicht an User ausgeliefert.

Ablauf: 1. Neue Version parallel starten
2. Echten Traffic an beide Versionen
3. Nur alte Version antwortet Usern
4. Neue Version wird getestet (Performance, Fehler)
5. Bei Erfolg: Switch auf neue Version

Welche Strategie wann?

  • Ring Deployment: Für klassische Client-Software in Unternehmen
  • Canary Release: Für Web-Anwendungen und Cloud-Services
  • Blue-Green: Für kritische Services mit minimaler Downtime
  • Shadow: Für risikoreiche Änderungen mit umfangreichem Testing

7. Best Practices

Die wichtigsten Empfehlungen für erfolgreiche Softwareverteilung in Unternehmen.

Testing

  • Immer in Test-Umgebung testen
  • Pilot-Gruppe vor Rollout
  • Kompatibilität mit anderer Software prüfen
  • Performance-Impact messen
  • Deinstallation testen
  • Rollback-Szenario vorbereiten

Rollback-Plan

  • Rollback immer vorbereiten
  • Uninstall-Strings dokumentieren
  • Backup der alten Version behalten
  • Registry/Datei-Änderungen tracken
  • Automatische Rollback-Trigger definieren
  • Rollback-Prozess regelmäßig testen

Dokumentation

  • Runbooks für jede Software
  • Installationsparameter dokumentieren
  • Bekannte Probleme & Workarounds
  • Change-Management-Prozess
  • Versionierung der Pakete
  • Knowledge Base pflegen

Sicherheit

  • Software-Whitelist (AppLocker/WDAC)
  • Hash-Prüfung vor Installation
  • Nur signierte Pakete verwenden
  • Least-Privilege-Prinzip
  • Security-Scans vor Deployment
  • Lizenz-Compliance prüfen

Monitoring

  • Erfolgsrate überwachen
  • Fehlerhafte Installationen tracken
  • Alerts bei kritischen Fehlern
  • Performance-Metriken sammeln
  • Compliance-Reports erstellen
  • Dashboard für Echtzeit-Überblick

Automation

  • Infrastructure as Code (IaC)
  • CI/CD-Pipelines nutzen
  • Automatische Updates aktivieren
  • Self-Service-Portal für User
  • Automatische Compliance-Prüfung
  • Automatische Deinstallation bei Lizenzablauf

Die 3 goldenen Regeln

  1. Testen, testen, testen: Nie ohne Testing in Produktion ausrollen
  2. Rollback vorbereiten: Immer einen Plan B haben
  3. Kommunizieren: User vorab über Änderungen informieren

8. Praxis-Beispiele

Konkrete Beispiele für Softwareverteilung mit verschiedenen Tools.

Ansible Playbook für Software-Installation

YAML # Ansible Playbook: Software auf Linux-Servern installieren --- - name: Install required packages hosts: webservers become: yes tasks: - name: Update apt cache apt: update_cache: yes - name: Install nginx apt: name: nginx state: present - name: Install PHP and modules apt: name: - php - php-fpm - php-mysql state: present - name: Start and enable nginx service: name: nginx state: started enabled: yes

PowerShell-Skript für Windows-Software

POWERSHELL # Silent Installation von 7-Zip $installer = "C:\Temp\7z2301-x64.exe" $arguments = "/S" # Prüfe ob Installer existiert if (Test-Path $installer) { # Starte Installation $process = Start-Process $installer $arguments -Wait -PassThru # Prüfe Exit-Code if ($process.ExitCode -eq 0) { Write-Host "Installation erfolgreich" } else { Write-Error "Installation fehlgeschlagen: $($process.ExitCode)" } } else { Write-Error "Installer nicht gefunden" }

GPO-Deployment (MSI)

SCHRITTE # MSI-Paket per Gruppenrichtlinie verteilen 1. MSI-Paket auf Netzlaufwerk kopieren (z.B. \\server\share\app.msi) 2. Group Policy Management Console (GPMC) öffnen 3. Neue GPO erstellen oder bestehende bearbeiten 4. Navigieren zu: Computer Configuration → Policies → Software Settings → Software installation 5. Rechtsklick → New → Package 6. UNC-Pfad zum MSI angeben (nicht lokal!) 7. Deployment-Methode wählen: - Assigned (zugewiesen): Auto-Installation - Published (veröffentlicht): User-Entscheidung 8. GPO auf OU anwenden 9. Client aktualisieren: gpupdate /force

9. FAQ – Häufige Fragen

Häufige Fragen zur Softwareverteilung

Was ist der Unterschied zwischen SCCM und Intune?

SCCM (MECM) ist eine On-Premise-Lösung für traditionelles Client-Management. Ideal für große Unternehmen mit eigener Infrastruktur. Bietet OS-Deployment, detaillierte Inventory-Funktionen und komplexe Verteilungsszenarien.

Intune ist eine Cloud-basierte Lösung (SaaS) für Modern Management. Ideal für hybride Umgebungen und mobile Geräte. Unterstützt Windows, macOS, iOS und Android. Kein Server-Setup nötig.

Co-Management: Beide Tools können kombiniert werden – SCCM für On-Premise-Tasks, Intune für Cloud-Tasks.

Was ist ein "silent install"?

Ein silent install (stille Installation) ist eine Software-Installation ohne Benutzerinteraktion. Der Installer läuft im Hintergrund, zeigt keine Dialoge und benötigt keine Eingaben.

Dies ist essenziell für die automatisierte Softwareverteilung, da sonst jeder User die Installation bestätigen müsste.

Beispiele:

  • MSI: msiexec /i paket.msi /qn
  • InstallShield: setup.exe /s
  • InnoSetup: setup.exe /verysilent
Was ist ein MSI Transform (MST)?

Ein MSI Transform (MST) ist eine Datei, die Änderungen an einem MSI-Paket enthält, ohne das Original-MSI zu verändern.

Typische Anwendungen:

  • License-Key automatisch eintragen
  • Desktop-Verknüpfung hinzufügen/entfernen
  • Installationssprache setzen
  • Features aktivieren/deaktivieren
  • Installationspfad ändern

Aufruf: msiexec /i paket.msi TRANSFORMS=custom.mst /qn

Was ist der Unterschied zwischen Push und Pull?

Push: Der Server initiiert die Verteilung und schiebt die Software auf die Clients. Vorteil: Zentrale Kontrolle über Zeitpunkt. Nachteil: Clients müssen erreichbar sein.

Pull: Der Client initiiert die Verteilung und holt die Software beim Server ab. Vorteil: Funktioniert auch bei mobilen/offline Geräten. Nachteil: Weniger Kontrolle über Zeitpunkt.

Praxis: Moderne Systeme kombinieren beide Methoden. Kritische Updates werden gepusht, reguläre Updates gepullt.

Was ist ein "Distribution Point"?

Ein Distribution Point (DP) ist ein Server-Standort, der Software-Pakete lokal zwischenspeichert, um Netzwerk-Belastung zu reduzieren und Installationen zu beschleunigen.

Funktionsweise:

  • Pakete werden vom zentralen Server zum DP repliziert
  • Clients laden vom nächstgelegenen DP
  • Reduziert WAN-Belastung bei mehreren Standorten
  • Beschleunigt Installationen

Einsatz: SCCM, Intune (Cloud Distribution Point), WSUS

Wie funktioniert Windows Autopilot?

Windows Autopilot ist ein Cloud-Dienst von Microsoft, der die Ersteinrichtung (Provisioning) von Windows-Geräten automatisiert – ohne IT-Intervention.

Ablauf:

  1. Gerät wird beim Hersteller mit Hardware-Hash registriert
  2. User schaltet Gerät ein und verbindet mit Internet
  3. Gerät lädt Profil aus Intune/Azure AD
  4. Automatische Konfiguration: Domänen-Join, Policies, Apps
  5. User kann sofort arbeiten

Vorteile: Kein IT-Vor-Ort-Einsatz, schnellere Inbetriebnahme, konsistente Konfiguration.

Was ist AppLocker / WDAC?

AppLocker und WDAC (Windows Defender Application Control) sind Microsoft-Technologien für Application Whitelisting – sie erlauben nur definierte Software-Ausführungen.

AppLocker: Ältere, einfachere Lösung. Regeln basieren auf Pfad, Publisher oder Hash.

WDAC: Modernere, sicherere Lösung. Nutzt Code-Integrity-Policies. Empfohlen für neue Deployments.

Einsatz: Verhindert Ausführung von nicht-autorisierter Software, Malware und Shadow-IT.

Wie gehe ich mit fehlgeschlagenen Installationen um?

Strukturierter Umgang mit fehlgeschlagenen Installationen:

  1. Monitoring: Erfolgsquote überwachen, fehlgeschlagene Geräte identifizieren
  2. Analyse: Logs prüfen (SCCM-Logs, Event Viewer, MSI-Logs)
  3. Ursachen: Häufigste Fehler identifizieren (Platzmangel, Kompatibilität, Netzwerk)
  4. Behebung: Paket anpassen, Voraussetzungen schaffen
  5. Retry: Erneute Verteilung auf fehlgeschlagene Geräte
  6. Manuell: Bei persistierenden Problemen: Manuelle Installation
  7. Dokumentation: Lessons Learned festhalten

10. Praxisaufgaben

Übungsaufgaben

Aufgabe 1: Erkläre den Unterschied zwischen Push- und Pull-Methode bei der Softwareverteilung.
Aufgabe 2: Nenne drei Vorteile einer automatisierten Softwareverteilung gegenüber manueller Installation.
Aufgabe 3: Was ist ein "silent install" und warum ist er für die Softwareverteilung wichtig?
Aufgabe 4: Erkläre das Ring-Deployment-Konzept.
Aufgabe 5: Nenne drei Best Practices für erfolgreiche Softwareverteilung.
Aufgabe 6: Vergleiche SCCM und Intune – wann würdest du welches Tool einsetzen?

Zusammenfassung

Die wichtigsten Punkte

  • Definition: Softwareverteilung automatisiert Installation, Konfiguration und Updates auf Endgeräten
  • Methoden: Push (Server initiiert), Pull (Client holt), GPO, Skript-basiert
  • Tools: SCCM/MECM (On-Premise), Intune (Cloud), Ansible (Open Source), PDQ Deploy, WSUS, GPO
  • Paketformate: MSI, EXE, MSIX/APPX, DEB, RPM, PKG
  • Silent Install: Installation ohne Benutzerinteraktion – essenziell für Automatisierung
  • Deployment-Prozess: Anforderung → Paketierung → Testing → Pilot → Deployment → Monitoring → Dokumentation
  • Strategien: Ring Deployment, Canary Release, Blue-Green, Shadow Deployment
  • Best Practices: Testing, Rollback-Plan, Dokumentation, Security, Monitoring, Automation
  • 3 goldene Regeln: Testen, Rollback vorbereiten, kommunizieren
  • MSI Transform (MST): Änderungen an MSI-Paketen ohne Original zu verändern
  • Distribution Point: Lokaler Cache für Pakete zur Reduzierung der Netzwerklast
  • Windows Autopilot: Cloud-basierte Ersteinrichtung von Windows-Geräten
  • AppLocker/WDAC: Application Whitelisting für erhöhte Sicherheit

Merke: Softwareverteilung ist mehr als nur Installation

Eine erfolgreiche Softwareverteilung umfasst den gesamten Lebenszyklus – von der Anforderung über Testing, Deployment, Monitoring bis zur Deinstallation. Gute Planung, Testing und Dokumentation sind der Schlüssel zum Erfolg.

Weiterführende Themen

Windows Server

Windows Server Grundlagen – AD, Hyper-V, GPO und PowerShell.

Zu Windows Server
Gruppenrichtlinien

GPOs im Detail – Verknüpfung, Filterung, Troubleshooting.

Zu Gruppenrichtlinien
Patch Management

Updates und Patches verwalten – WSUS, SCCM, Intune.

Zu Patch Management
Endpoint Management

Endgeräte verwalten – MDM, MAM, UEM.

Zu Endpoint Management
IT-Sicherheit

Sicherheitsgrundlagen für Enterprise-Umgebungen.

Zur IT-Sicherheit
Cloud-Infrastruktur

Cloud-Dienste für Modern Management und Softwareverteilung.

Zur Cloud-Infrastruktur