Unter Softwareverteilung versteht man die automatische Installation von Anwendungen auf PCs. Voraussetzung dafür sind angepasste Setups (Pakete), welche keine Benutzereingabe mehr benötigen (Unattended Installation). Diese Pakete bereiten den PC durch Installation und Konfiguration so vor, dass der Anwender mit dem Programm arbeiten kann. Die Pakete werden durch einen Softwareverteilungsagent, welcher sich auf jedem PC befinden muss, installiert. Dieser Agent sorgt dafür, dass die Pakete, zu der vom Admin zuvor definierten Zeit installiert werden. Dabei kann zusätzlich berücksichtigt werden, ob ein Benutzer angemeldet ist oder nicht. Dies ist wichtig für einen Reboot, denn eine Todsünde bei der Softwareverteilung ist das Rebooten eines PCs an dem ein Anwender gerade arbeitet.
Es gibt auch die Möglichkeit dem Anwender eine Liste mit Software, welche er installieren darf, zur Verfügung zu stellen, die sogenannte Warenkorbfunktionalität. Hier wählt der Anwender die Software, welche er haben möchte, aus und kann den Installationszeitpunkt der automatischen Installation selbst bestimmen. Die Auswahl der zu installierenden Software kann im Voraus speziell für den Benutzer festgelegt werden, oder es erfolgt ein „Genehmigungsverfahren“, in dem eine andere Person entscheidet, ob der Benutzer diese Software installieren darf.
Der Agent kann auch bei der Übertragung der Installationsdateien dafür sorgen, dass die Bandbreite optimal genutzt wird (die Übertragung der Dateien soll die verfügbare Bandbreite nicht komplett auslasten und bei Verbindungsabbrüchen wird an der Stelle aufgesetzt, wo die Übertragung abgebrochen ist). Damit in einem Unternehmen mit mehreren Standorten die Übertragung zwischen den Standorten nicht für jeden einzelnen PC erfolgen muss, werden sogenannte Distribution- oder Depot- Server eingesetzt. Diese stellen die Installationsdateien für einen Standort zur Verfügung und sorgen durch Mechanismen wie Komprimierung, Bandbreiten- und Zeitsteuerung für eine optimale Nutzung des Netzwerks.
Ziele für die Softwareverteilung können PCs und/oder Benutzer sein. Diese Ziele können in Gruppen zusammengefast werden, welche entweder manuell oder automatisch mit PCs/Benutzern gefüllt werden. Dieser Automatismus basiert auf Abfragen, welche auf die Hard- und Softwareinventur zugreifen und so z.B. PCs mit einer bestimmten Version einer installierten Anwendung liefert. Durch intelligentes Verwenden dieser Gruppen kann die Arbeit des Softwareverteiladmins vereinfacht werden.
Unter Patch Management versteht man die Verwaltung und das automatische Installieren von Patches und Updates. Hier wird unterschieden zwischen Betriebssystem Patches (kommen am häufigsten vor) und Updates für Anwendungen. Das Patch Management unterstützt den Admin bei folgenden Aufgaben: Bestimmung, welche Patche schon auf den PCs installiert sind, Auswahl, welche Patche installiert werden sollen und Installation der Patche. Häufig unterstützt/integriert das Patch Management den Windows Update Server (WSUS) von Microsoft.
Der Prozess Patch Management besteht aus 4 Schritten:
- Bewerten der Patches
Jeden Monat erscheinen mehrere neu Patches für Microsoft Betriebssysteme. Microsoft stuft diese Patches in unterschiedliche Wichtigkeitsklassen ein (wichtig, empfohlen, optional). Eventuell sieht der Sicherheitsbeauftragte im Unternehmen diese Einstufung anders oder es gibt andere Gründe einen bestimmten Patch nicht zu installieren (Abhängigkeiten/Probleme mit installierter Software, Patch darf auf bestimmten PCs nicht installiert werden, …). Daher ist eine Bewertung der Patches für das Unternehmen notwendig mit der Möglichkeit, einzelne Patches von der Verteilung auszuschließen.
- Test der Patches
Nachdem festgelegt worden ist, welche Patches installiert werden sollen, ist es empfehlenswert, diese vorab auf einer Pilotgruppe von Test-PCs zu installieren und das Verhalten sowie die Funktion der PCs zu testen, da hier Unverträglichkeiten mit bestimmter Software auftreten können.
- Freigabe für Verteilung
Sind die Tests erfolgreich verlaufen, werden die Patche für die Verteilung freigegeben und das Rollout kann beginnen.
- Rollout der Patches
Bei der Verteilung der Patches sollte blockweise vorgegangen werden, d.h. es wird mit einem kleinen Block von PCs begonnen. Die nächsten Blöcke steigern sich in der Anzahl der PCs. Einige Patches benötigen einen Reboot, dies sollte beim Rollout beachtet werden. Durch Reports kann der Erfolg der Installationen geprüft werden. Zusätzlich bieten einige Hersteller einen Compliance Report an. Dort wird angezeigt, welche PCs den Vorgaben bezüglich installierter Patches entsprechen und welche nicht.
Die Updates für Anwendungen werden häufig durch herstellereigene Methoden upgedated, was in Firmennetzwerken nicht erwünscht ist. Hier gilt es schon beim Paketieren der Anwendung darauf zu achten, den eingebauten Update Mechanismus zu deaktivieren. Bei einigen Client Life Cycle-Systemen ist es möglich, auch Updates/Patches von Drittherstellern in das Patch Management zu integrieren. Sollte dies nicht möglich sein, müssen die Updates über die Softwareverteilung installiert werden.