Einleitung

Seit einiger Zeit setzen wir bei uns nun schon den Microsoft System Center Configuration Manager ein – kurz SCCM. Der SCCM ist ein Management-Server zur zentralen Verwaltung von Hard- und Software im Netzwerk. Wir nutzen ihn derzeit primär zur Installation von Windows sowie zur Verteilung von Softwarepaketen sowie -updates.

Die Installation von Windows lässt sich mit dem SCCM komplett automatisieren, Windows wird mit gewünschter Konfiguration sowie mit zuvor ausgewählter Software installiert. So muss man nach erfolgter Installation deutlich weniger Hand anlegen und manuelle Schritte durchführen.

Aber auch bereits bestehende Installationen lassen sich mit dem SCCM warten und pflegen. So kann man Softwarepakete erstellen, die dann den Clients optional für die Installation zur Verfügung stehen, ohne dass der Benutzer Admin-Rechte benötigt. Die Installation lässt sich aber auch erzwingen, sodass z.B. gewährleistet ist, dass jeder Client über gewisse Standardsoftware verfügt.

Weiterhin lässt sich einmal über den SCCM verteilte Software natürlich auch updaten. So kann man sicherstellen, dass jeder Client die aktuelle bzw. eine gewünschte Version hat. Und an dieser Stelle kommen wir zu dem „Problem“, um das es hier genauer gehen soll.

Update? Nur automatisch!

Das Erstellen eines „Update-Paketes“ ist recht einfach. Man erstellt im Grunde einfach ein neues Software-Paket und hinterlegt dort in den Anwendungseigenschaften einfach, welches alte Paket abgelöst werden soll. Ich gehe hier nicht detaillierter darauf ein, da ich denke, dass diejenigen, die sich für diesen Beitrag hier interessieren, grundlegend mit dem SCCM auskennen.

autoupdate, configurationmanager, deaktivieren, deployment, microsoft, sccm, software, systemcenter, update, verteilung, windows

Festlegen der abzulösenden Software

Soweit so gut.

Das Problem ist jetzt aber, dass das neue Update automatisch auf alle dafür vorgesehenen Rechner installiert wird. Ohne Rückfrage und im Regelfall auch ohne dass sich beim Benutzer ein Fenster öffnet. So einen „Silent-Install“ will man zumindest in der Regel. Und zwar auch, wenn die Software bzw. das Update gar nicht als „erforderlich“ eingestuft wurde, also erzwungen werden soll, sondern auch, wenn die Software als solches optional ist.

Nun mag man meinen: Ist doch toll, immerhin bekommt so jeder auf jeden Fall das Update. Bei manuellem Update sind bestimmt manche zu bequem, die paar Klicks zu tun.Und so mag es auch sein und grundsätzlich sehe ich das auch so. Jedoch gibt es auch Programme, die nicht während der aktiven Arbeitsphase gemacht werden können. Wenn z.B. den ganzen Tag eine Anwendung aktiv ist, die auf Java basiert, kann schlecht währenddessen Java aktualisiert werden. Den speziellen Fall haben wir auch bei uns. Da quittiert dann die Anwendung plötzlich den Dienst und spuckt Fehlermeldungen aus. Hier ist es dann schon sinnvoll, dass ein Update nicht direkt nach Freigabe automatisch installiert wird, sondern dass die Benutzer die Möglichkeit haben, das Update nach Beenden der Anwendung manuell anzustoßen.

Wie bereits gesagt werden Updates vom SCCM standardmäßig automatisch angestoßen. Will man das für bestimmte Updates unterbinden, muss man schon ein wenig tiefer in die Trickkiste greifen. Hat man ein Update erstellt und damit auch die Ablösung eingetragen, muss man die Anwendung natürlich noch bereitstellen. Bei der Bereitstellung lässt sich dann festlegen, ob die Anwendung „Verfügbar“, also optional, oder „Erforderlich“ ist, also erzwungen wird. Außerdem hat man hier die Möglichkeit auszuwählen, ob ein Upgrade automatisch ausgeführt werden soll – nun ja, zumindest theoretisch. Denn die Option ist standardmäßig angehakt und ausgegraut, sodass keine Änderung möglich ist.

autoupdate, configurationmanager, deaktivieren, deployment, microsoft, sccm, software, systemcenter, update, verteilung, windows

Das automatische Upgrade lässt sich nicht deaktivieren

Der Weg zur besseren Kontrolle

Also was tun? Der Clou dabei ist, dass man beim Bereitstellen und den Einstellungen in der Anwendung eine gewissen Reihenfolge beachten muss, um das Auto-Update zu verhindern. Man erstellt zuerst das Software- bzw. Updatepaket und stellt es auf die gewünschte Sammlung bereit. Da jetzt noch keine Ablösung definiert ist, fehlt die Möglichkeit zum Auto-Upgrade komplett.

autoupdate, configurationmanager, deaktivieren, deployment, microsoft, sccm, software, systemcenter, update, verteilung, windows

Option für das Automatische Upgrade fehlt

Erst nach der Bereitstellung geht man zurück in die Anwendungseigenschaften und richtet dort die Ablösung der alten Version ein. Schaut man dann in die Eigenschaften der Bereitstellung des Updates, so sieht man, dass die Option für das Auto-Upgrade wieder sichtbar ist – wieder ausgegraut, nun aber deaktiviert. Also genau so, wie wir es haben wollen.

autoupdate, configurationmanager, deaktivieren, deployment, microsoft, sccm, software, systemcenter, update, verteilung, windows

Option zum Auto-Upgrade nicht aktiviert

Jetzt wird die neue Version der Software nicht mehr automatisch installiert, das Update steht dafür im Softwarecenter zur Installation zur Verfügung. Zwar steht dort dann bei der Software „Verzug. Update wird installiert“, was ziemlich irritierend ist, allerdings wird das Update trotzdem erst installieren, wenn man dort bewusst auf „Installieren“ klickt.

Warum man diesen komischen Weg gehen muss, ob es ein Bug ist oder ob Microsoft das für besonders elegant hält, weiß wohl niemand. Auf jeden Fall wisst ihr nun, wie ihr der Auto-Upgrade-Funktion beim SCCM ein Schnippchen schlagen könnt.

Natürlich will man in der Regel, dass alle Clients das Update bekommen und wie ich schon sagte, gibt es überall Leute, die es manuell natürlich nicht machen. Daher mache ich das Update zunächst wie oben beschrieben für die manuelle Installation verfügbar und informiere die Mitarbeiter darüber mit der Bitte, das Update zu installieren. Nach ein paar Tagen dann wird die Installation überall erzwungen und wer denn Fehlermeldungen erhält ist selbst schuld.