Mit Automatisierung in Prozesse, Strukturen und Templates investieren

Computerinstallationen. Es könnte so einfach sein.

Erst die Windows Installation, dann nur eine kleine Einstellung hier. Ein Patch da. Dort eine Konfigurationsdatei anpassen und dann läuft der Computer incl. Anwendung schon.

Viele Administratoren kennen das aus Ihrer Anwendungsbetreuung. Jedes Mal ist es das gleiche, aber doch immer etwas anders. Mal reagiert der Anwender nicht. Mal ist es ein neuerer oder älterer PC. Und so werden Anleitungen geschrieben und ergänzt, damit die Lösung immer wieder nachgebaut – also zum gleichen Ergebnis – gebracht werden kann.

Was bei wenigen Arbeitsplätzen funktioniert, wird bei einer zunehmenden Anzahl an Mitarbeitern und Arbeitsplätzen, mehr und mehr zum Kraftakt. Und am Ende des Tages ist immer noch so viel zu tun.

Von der Monotonie der Tätigkeit einer Computerinstallation abgesehen, zahlt dies auch nicht auf das Kreativitäts-Konto des Administrators ein. Wieso dann nicht in Automatisierung investieren?

Einleitung

Ich wurde zuletzt durch einen befreundeten Systemadministrator für eine Unterstützung angefragt. Es handelte sich dabei um einen Firmenzukauf (Mergers & Acquisitions). Dabei sollten beide IT Abteilungen und Systeme verschmolzen werden. Was zunächst einfach aussah, entpuppte sich bei der Neuinbetriebnahme von über 40 neuen Arbeitsplätzen zum Kraftakt, welcher alleine nicht mehr zu stemmen war. So mussten zahlreiche Arbeitsplätze binnen kürzester Zeit in das Bestandssystem integriert, alle Unternehmensanwendungen installiert und vor der Übergabe an den Benutzer getestet werden. Wie das alles an einem Samstag incl. Frühstück, Mittag und Abendessen möglich war, davon handelt dieser Artikel.

Thematische Abgrenzung

Innerhalb dieses Artikels geht es konkret um die Automatisierung der Bereitstellung von Windows Arbeitsplätzen, damit diese für die Nutzung im Unternehmen aktiv verwendet werden können. Entsprechende Daten- und Anwendungsmigrationen werden hierbei nicht betrachtet.

Anforderungen für die Betriebsbereitschaft

In kleinen und mittelständischen Unternehmen (kurz: KMU) haben Windows Computer ab einer gewissen Unternehmensgröße, immer den Bedarf einer zentralen Verwaltung. So werden Benutzerkonten innerhalb eines Active Directory angelegt, verwaltet und für den täglichen Gebrauch, den passenden Rechtegruppen zugeordnet. Gewachsene Strukturen sind dabei meist manuell gepflegt und stark abhängig von dem Administrator, welcher sich um diese kümmert.

Die häufigsten Zeitfresser bei einer manuellen Windows Bereitstellung

Die Zeit ist das, was für uns alle gleich ist. Wir haben alle nur 24 Stunden an einem Tag zur Verfügung.

Wie wir sie Nutzen, das macht den Unterschied aus.

Installation

Egal ob Windows 7 oder Windows 10. Die Setup-Routine erfordert immer wieder Aufmerksamkeit, um Dialoge mit “Weiter” zu bestätigen oder manuell Eingaben wie Computer- oder Domänennamen einzugeben.

Windows Updates

Eine der Kernaufgaben des Administrators ist die Wartung und Pflege der Windows Computer. So werden häufig in kleinen Unternehmen, Updates noch manuell ausgeführt und installiert. Das kostet nicht nur Zeit zum Download, sondern auch jene Zeit, die das Windows System für die Installation benötigt.

Anwendungsbereitstellung

Was mit Office 365 inzwischen als Click-to-Run sehr schön automatisch funktioniert, ist bei vielen anderen Anwendungen und ERP Programmen, noch nicht Realität. So müssen meist mehrere Setup-Dateien ausgeführt werden, damit das gewünschte Ziel einer lauffähig installierten Anwendung erreicht wird.

Parametrisierung

Die Anpassung der Anwendungen auf Computer und Benutzerebene, ist ein intensiver Zeitfresser. Eine Einstellung hier, eine Anpassung dort. Erst dann funktionieren die meisten Anwendungen wie gewünscht, wenn der Benutzer diese verwenden soll.


Vieles davon ist Standard und wird häufig von Administratoren in kleinen How-To’s zusammengefasst, um schnell zum gewünschten Ergebnis zu kommen. Mit steigender Anzahl der betreuten Arbeitsplätze, stellt es sich aber immer wieder als zeitliche Herausforderung dar, wenn personelle Ressourcen die Begrenzung sind. Sicher, diese können durch zusätzliches Personal oder durch Mehrarbeit kompensiert werden. Der finanzielle Aspekt stellt jedoch meist eine Hürde dar. Für regelmäßige Arbeiten sollten daher intelligentere und automatisierte Lösungen in Betracht gezogen werden.

Analyse als erster Schritt und Startpunkt der Automatisierung

Damit wiederkehrende Tätigkeiten besser und einfacher “von der Hand” gehen, müssen Strukturen geschaffen und Prozesse zur Automatisierung eingesetzt werden. Im Falle einer Systembereitstellung stellt sich dies relativ einfach mittels Vorlagen (engl. Templates) dar.

Installation von Windows Computern

Was bei Linux Systemen seit je her gut funktioniert, wird in großen Unternehmen auch mit Windows Computern und Servern realisiert. Die automatische Betriebssystembereitstellung von Windows Arbeitsstationen und Servern. Hierzu hat Microsoft die kostenfreie Rolle “Windows Deployment Services (WDS) zur Verfügung gestellt. Auf dem gleichen Prinzip basiert auch das Produkt Empirum von Matrix42 (vgl. [1])

Damit kann ein Windows Betriebssystem vollständig über das Netzwerk installiert werden. Ein erster Startvorgang kann über das Netzwerk bei den meisten Computern mittels PXE erfolgen. Bei unterschiedlichen Desktop- und Notebook-Computern, kann dieser Prozess auch über einen USB Stick oder eine CD ausgeführt werden.

Betriebssystemauswahl und Integration

Häufig werden sowohl Windows 7 als auch Windows 10 in KMUs eingesetzt. Egal ob es sich dabei um eine OEM Installation, einen Microsoft Open oder Microsoft Select Vertrag handelt, kann eine vollständige Installation mit Standardwerten incl. Beitritt zur Domäne automatisiert werden. Das Schlüsselwort hierzu lautet Unbeaufsichtigte Installation (engl. unattended install) [2].

Installation von Windows Updates

Ein häufiges Thema ist die automatische Installation von Windows Updates. Trotz eines internen Update-Servers zur Entlastung der Internetbandbreite, lassen sich diese nicht automatisch – also ohne Zutun des Administrators – nach der Systeminstallation installieren. Hierzu kann entweder das Matrix42 Client Management oder ein PowerShell Script via Gruppenrichtlinie verwendet werden.

(Vgl. https://gallery.technet.microsoft.com/scriptcenter/Execute-Windows-Update-fc6acb16.)

Unter Zuhilfenahme des Skripts, werden alle verfügbaren Windows Updates gesucht und installiert. Ein wiederholtes Ausführen des Scripts kann sowohl den Computer neu starten, als auch innerhalb mehrere Zyklen die vollständige Installation aller Update durchführen. Dies alles ohne eine Interaktion des Administrators.

Automatische Anwendungsbereitstellung

Abhängig von den notwendigen Anwendungen, muss meist nicht nur die Anwendung selbst, sondern auch die Updates/Patche, als auch eine Konfiguration der Anwendung erfolgen. Hier haben sich mehrere Strategien zur Anwendungsbereitstellung als bewährt erwiesen.

Die Windows Gruppenrichtlinien stellen für viele Anforderungen die passende Schnittstelle bereit. Die automatische Anwendungsbereitstellung ist dabei aber immer als individuelle Aufgabe anzusehen. Diese steigt mit der Automatisierung stetig an und zahlt sowohl in auf das Wissen des Administrators, als auch auf die für Ihn verfügbaren zeitlichen Ressourcen und die Geschwindigkeit der Realisierung ein.

Startskript

Skripte können automatisch zum Windows Systemstart mittels Gruppenrichtlinie auf Computerebene ausgeführt werden. Häufig sind hier jedoch entweder das Netzwerk oder andere Systemgegebenheiten im Wege, weshalb diese nicht sofort, sondern stark verzögert ausgeführt werden. (vgl. [3])

Anwendungszuweisung

Innerhalb von Gruppenrichtlinien können Anwendungen sowohl einem Benutzer, als auch einem Computerkonto zugewiesen werden. Dadurch wird die Installation bei der Anmeldung ausgeführt. Leider verzögert sich dadurch oftmals auch der Prozess der Anmeldung, was negativ auf die Benutzererfahrung (engl. “user experience”) einzahlt. (vgl. [4])

Anmeldeskript

Vergleichbar mit der Anwendungszuweisung können Skripte auch beim Anmelden am System ausgeführt werden. Leider haben diese eine ähnliche Auswirkung auf die Anmeldegeschwindigkeit wie die Softwarezuweisung. 

Administratoranmeldung

Das Anmelden eines Benutzers mit den Rechten eines Administrators, wirkt manchmal wunder. Einige Anwendungen führen erst dann Ihre entsprechende Konfiguration nach der Installation durch (vgl. [5]).

geplante Aufgabe

Eine weitere Möglichkeit von Gruppenrichtlinien ist es, geplante Aufgaben auf Windows Computer zu verteilen. Dadurch können zeitgesteuert Skripte gestartet werden. Die Zeitsteuerung stellt dabei jedoch auch ein Problem dar, wenn es sich um das initiale – also von null auf – bereitstellen eines Windows Computers handelt.

System Center Configuration Manager / Matrix42 Client Management

Abhängig von der Unternehmensgröße stehen teilweise Hilfsmittel wie Microsoft System Center Configuration Manager (seit Version 1910 Endpoint Configuration Manager) (vgl. [6]) oder auch Matrix42 Empirum mit Client Management (auch Unified Endpoint Management) (vgl. [7]) zur Verfügung. Diese Produkte stellen eine ganzheitliche Lösung für Betriebssystem und Anwendungsbereitstellung auf Computern und ggf. Mobilen Endgeräten dar. Sie werden häufig bei größeren, jedoch nicht bei kleinen mittelständischen Betrieben eingesetzt.

Anwendungsvirtualisierung

Für komplexe Szenarios ist es fast unmöglich passende Anwendungen incl. deren Abhängigkeiten, gleichzeitig bereitzustellen. So ist zum Beispiel die mehrfache Installation des Microsoft Office Pakets keine gute Lösung, wenn installierte Anwendungen auf unterschiedliche Word Versionen zugreifen müssen. Hier hat sich die lokale Virtualisierung der Anwendungen incl. Ihrer Abhängigkeiten als passendes Mittel zum Zweck bewährt. Neben Microsoft App-V [8], können hier Produkte von Citrix wie das Application Streaming, VMWare ThinApp [9], die Novell Desktop Containers [10] oder die Appstore Lösung von AppsAnywhere [11] genutzt werden.

Remoteanwendungen / Veröffentlichte Anwendungen

Für systemübergreifende Anforderungen haben sich virtuelle Desktop Infrastrukturlösungen (kurz: VDI) bewährt. Diese gewährleisten einen sicheren und strukturieren Zugriff auf Anwendung sowie zusätzlich Systemressourcen. Eine Teilmenge daraus stellen die sogenannten Remoteanwendungen dar. Hierbei wird auf Terminal Server eine vollständige Benutzer-Anmeldung durchgeführt, jedoch nicht der Desktop, sondern nur die eine Anwendung, bis zum Benutzer weitergereicht.

So kann z. B. eine komplexe ERP oder SAP Oberfläche mit allen notwendigen Erweiterungen gestartet werden. Lediglich die Inhalte der Anwendung werden dann auf dem lokalen Computer dargestellt, als ob die Anwendung lokal installiert wäre. Dies ermöglicht dem Administrator eine zentrale Installation und Verwaltung, als auch den Nutzern eine dezentrale lokale und ggf. internetbasierte Nutzung. 

Hier bieten Microsoft mit RemoteApps (vgl. [12]) als auch Citrix mit Published Applications (vgl.[13]) eine sehr gute Plattform. Wie immer kommt es dabei auf die Umsetzung an, damit Benutzer diese Technologie einfach und effektiv nutzen können.

Automatische Anwendungsparametrisierung

Nachdem die Bereitstellung erfolgt ist, geht es oftmals an die Parametrisierung der Anwendungen. So müssen Startseiten konfiguriert und Anwendungsparameter eingestellt werden, damit Anwender unmittelbar mit der Arbeit beginnen können. Die Individualisierungsmöglichkeiten sind oftmals zahlreicher, als jene zur Ausbringung der Anwendungen. Aufgrund dessen können hier keine generellen Lösungen, jedoch standardisierte Tools helfen.

Gruppenrichtlinien für Benutzer und Systemeinstellungen

Viele Einstellungen lassen sich mittels Gruppenrichtlinien vorgeben. Ihre Ausprägung kann von Standard Windows Einstellungen, über Anwendungsspezifische Parameter und Zusatzkomponenten variieren. Sie können auf Computer- und Benutzerebene konfiguriert werden.

Batch Dateien und PowerShell Skripte

Sofern notwendig, können mithilfe von Skripten innerhalb von Konfigurationsdateien, individuelle Einstellungen  verändert werden. Ein beliebter Befehl, mit welchem Anwendungsparameter in PowerShell verändert werden können, ist Set-Content (vgl. [14]). So kann z. B. nach der Installation der notwendige ERP-Zielserver in die Softwarekonfiguration eingetragen werden. Die Möglichkeiten sind hierbei immer Anwendungsspezifisch und abhängig vom Hersteller. Sie fördern und fordern oftmals die Kreativität des Administrators.

AutoHotkey / AutoIt

Sich wiederholende Klicks in Menüs, kann das Tool AutoHotkey (vgl. [15]) übernehmen. Für einige Admins stellt auch AutoIt das Mittel zum Zweck dar (vgl. [16]). Es unterstützt mithilfe seiner grafischen Oberfläche, die Erstellung von Skripten und bietet mit der dahinterliegenden, an Basic orientierten Skriptsprache, auch Workflows zur Verfügung. Dadurch kann ein mühsames Klicken in Menüs überflüssig gemacht machen.


Zusammenfassend kann mithilfe der oben genannten Mittel, auch mit geringen Kosten und Aufwänden, eine standardisierte und schnelle Bereitstellung von Windows Computern realisiert werden. Die dabei erstellten Lösungen dienen als Werkzeugkasten und Vorlage für zukünftige Herausforderungen. Sie können nicht nur dokumentiert und an günstigere Hilfskräfte weitergeben werden, sondern stellen auch eine massive Erleichterung und zeitliche Einsparung für den Administrator und das Unternehmen dar.

Diese nun freigewordenen Ressourcen können für weitere Verbesserungen oder zusätzliche Aufgaben verwendet werden.

Sollten Sie Fragen oder Probleme bei der Umsetzung haben, scheuen Sie sich nicht, mir einen Kommentar zu schreiben oder mit mir in direkten Kontakt zu treten. Ich helfe Ihnen gerne.

Mehr zu diesem Beitrag

Quellen / Einzelnachweise

  1. Matrix42 Produktwebseite Unified Endpoint Management https://www.matrix42.com/de/unified-endpoint-management
  2. Microsoft Dokumentation zur Automatischen Antwortdatei für die Betriebssysteminstallation https://docs.microsoft.com/de-de/windows-hardware/manufacture/desktop/windows-setup-automation-overview
  3. Microsoft Dokumentation zu Skripte über Gruppenrichtlinien https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dn789196(v=ws.11)#how-to-set-up-scripts-on-the-domain-controller
  4. Microsoft Anleitung zur Installation von MSI Paketen via Gruppenrichtlinie https://support.microsoft.com/en-us/help/816102/how-to-use-group-policy-to-remotely-install-software-in-windows-server
  5. Microsoft Anleitung zur automatischen Windowsanmeldung https://support.microsoft.com/de-de/help/324737/how-to-turn-on-automatic-logon-in-windows
  6. Microsoft Produktwebseite System Center Configuration Manager https://docs.microsoft.com/de-de/mem/configmgr/core/understand/introduction
  7. Matrix42 Produktwebseite Unified Endpoint Management https://www.matrix42.com/de/unified-endpoint-management/
  8. Microsoft App-V Produktwebseite https://docs.microsoft.com/de-de/windows/application-management/app-v/appv-getting-started
  9. VMWare Produktwebseite ThinApp https://www.vmware.com/de/products/thinapp.html
  10. Novell Desktop Container Dokumentation https://www.novell.com/documentation/mfdc-12/)
  11. Produktwebseite AppsAnywhere https://www.appsanywhere.com/de/
  12. Microsoft Technet Produktvorstellung RemoteApp und Desktop Connections https://techcommunity.microsoft.com/t5/microsoft-security-and/introducing-remoteapp-and-desktop-connections/ba-p/246803
  13. Citrix Webseite zu Published Applications (CTX211391 nur noch mit gültigem Citrix Account zugänglich)
  14. Microsoft Dokumentation zum PowerShell Befehl Set-Content https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.management/set-content?view=powershell-7
  15. Produktwebseite AutoHotkey https://www.autohotkey.com/
  16. Produktwebseite AutoIt https://www.autoitscript.com/site/autoit/

tbd.

Änderungshistorie

Erstellt: 2020-06-20Zuletzt geändert: 2020-06-20
Änderungshistorie: –
2020-06-20: Basis – Layout + Text
2024-03-15: Update Link Matrix42 Endpoint Management

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

fünf × 1 =