Fachartikel

Seite 3 - Automatisierung mit der PowerShell

Komponenten einer Automationslösung
Die beschriebenen Erfahrungen sind oft der Normalfall beim Eintritt in die Automationswelt mit der PowerShell. Es empfiehlt sich daher der gezielte Einsatz einer Automationslösung für die PowerShell. Folgende grundlegende Anforderungen beziehungsweise Bestandteile einer solchen Lösung lassen sich für diese ableiten:
  1. Skripte und zum späteren Zeitpunkt auch selbstgeschriebene Module: Diese implementieren die erforderlichen Schritte zur Erledigung einfacher und komplexer Aufgaben. Immer wieder notwendige Funktionen lassen sich in einer Bibliothek von Funktionsskripten oder eigenen Modulen bündeln, um eine Wiederverwendbarkeit von PowerShell Code ohne Copy & Paste zu ermöglichen.
  2. Zentrales Skript-Repository: Eine zentrale Ablage von Skripten sollte sicherstellen, dass immer wieder das gleiche Skript für die gleiche Aufgabe Verwendung findet. Per Definition ist es untersagt, personengebundene Inkarnationen eines Skripts zu erstellen und zu verwenden.
  3. Richtlinien für die Ausführung: Die Richtlinien für die Ausführung von Skripten sollten festlegen, welches Skript wie und auf welchem Zielsystem in welchem Rechtekontext ausgeführt werden darf, um die Vergleichbarkeit von Ergebnissen zu ermöglichen.
  4. Rechtesteuerung für die Ausführung: Die Rechtesteuerung definiert verschiedene Sachverhalte. Welche Credentials werden zur Ausführung des Skripts benötigt? Welche zusätzlichen Credentials müssen zur Verarbeitung in den PowerShell-Prozess eingesteuert werden sowie wer ist überhaupt berechtigt, eine Skriptaktion zu starten?
  5. Ausführungsinstanz für Skripte: Diese Instanz stellt die Reproduzierbarkeit sicher, das heißt die Skripte werden mittels der Script Policies und der Rechtesteuerung immer auf die gleiche Art und Weise auf den Zielsystemen und Services ausgeführt.
  6. Zentrales Reporting: Werden Skripte ausgeführt, so ist es wichtig zu wissen, welche Ergebnisse und Fehler dabei aufgetreten sind. Mit einer einheitlichen Reporting-Datenbank, die jede Ausführung zentral protokolliert, lässt sich jederzeit nachvollziehen, was genau passiert ist. Eine wichtige Voraussetzung für Audits.
  7. Delegationsmöglichkeit: Vor dem Hintergrund einer zunehmenden Arbeitsteiligkeit und den Eigenheiten einer Administration per Kommandozeile wird klar, dass viele Mitarbeiter im IT-Betrieb so schnell keine PowerShell-Profis werden oder auch sein wollen. Ein Delegationsmechanismus sollte es ermöglichen, einzelne Skriptaktionen auf verschiedene Benutzergruppen rollenbasiert zuzuweisen. Über diese Zuweisung haben PowerShell-Administratoren die Möglichkeit, Skriptaktionen auch durch Dritte sicher ausführen zu lassen.
  8. Grafische Anwendung: Obwohl die PowerShell eine Skriptsprache ist, bietet sich für die Einrichtung von Richtlinien, Rechten und Delegation bis hin zum Einsehen der Reports eine grafische Bedienoberfläche als Browser-App an. Um die Anwendung von Skripten in der Breite verfügbar zu machen, ist eine grafische Browser-App für Service-Desk-Mitarbeiter und Administratoren ideal. Über diese können die PowerShell-Parameter eingegeben und validiert sowie eine Skriptaktion gestartet werden.
  9. Schnittstellen: Eine Automationslösung für PowerShell steht in der Regel nicht allein im Feld. Monitoring, ITSM, Workflowsysteme und andere sind ebenfalls wichtige Bestandteile der IT-Infrastruktur. Für eine zukünftige Gesamt-Automationslösung ist es enorm wichtig, entsprechende Schnittstellen zur Integration zu bieten. Als Schnittstellenstandard bieten sich Web Services, insbesondere REST an.
  10. Entwicklungsumgebung für Skripte: Administratoren, die PowerShell-Skripte entwickeln, sehen sich mit neuen Herausforderungen konfrontiert. Diese teilen sich in zwei Komplexe. Zum einen ist da das Entwicklungswerkzeug inklusive Versionsverwaltung sowie die Gestaltung des Prozesses vom Entwurf bis zur Produktivstellung. Während es am Markt eine Auswahl an technischen Werkzeugen gibt, wie beispielsweise Visual Studio Code und Git, ist die Prozessgestaltung stark von internen organisatorischen Randbedingungen abhängig. Grundsätzlich sind die unterschiedlichen Phasen Entwickeln, Testen und Produktion abzubilden.

Bild 4: Architekturbeispiel und Komponenten für eine Automationslösung mit der PowerShell.

Fazit
Es ist sinnvoll, frühzeitig in das PowerShell-Universum einzusteigen, um die Konzepte, Zusammenhänge und Details besser verstehen zu lernen. Mit der PowerShell bieten sich sehr viele Möglichkeiten für die Automation im IT-Betrieb. Die Flexibilität der Skriptsprache in Verbindung mit der Funktionalität von Befehlen und Modulen erlaubt, die täglichen Aufgaben deckungsgenau in Skripten abzubilden. Für eine sichere Gesamtlösung für alle Mitarbeiter im IT-Team und darüber hinaus sind zusätzliche technische und organisatorische Unterstützungsfunktionen hilfreich, sinnvollerwiese mit einer umfänglichen Plattformlösung.

   Seite 1: Zwei Strategien zur Automation
   Seite 2: User Provisioning als Beispiel für Automation
   Seite 3: Komponenten einer Automationslösung

<< Vorherige Seite Seite 3 von 3
2.05.2018/ln/Frank Kresse, Head of Products Division bei der AppSphere AG
und Entwickler von ScriptRunner.

Nachrichten

Kommandozeile für die Cloud [20.02.2020]

Während die Cloud eine Vielzahl von Vorteilen bietet, wird die Verwaltung mehrerer Archivierungskonfigurationen und SLAs schwierig und erfordert oft eine Reihe von Tools. Rubrik, das Multi-Cloud Data Control-Unternehmen, hat nun ein auf Rubrik-APIs basierendes Command Line Interface namens rbkcli vorgestellt. Die Befehlszeilenschnittstelle erleichtert es Unternehmen, die administrativen Herausforderungen der Cloud auf einfachere Weise zu bewältigen. [mehr]

Fernzugriff für kleine Umgebungen [12.02.2020]

TeamViewer stellt mit "Remote Access" ein neues Angebot für Fernzugriffe vor. Dieses wurde speziell für Existenzgründer und kleine Unternehmen entwickelt. Möglich ist der Zugriff auf bis zu drei Computer, auch von Android- oder iOS-Geräten aus. [mehr]

Tipps & Tools

Download der Woche: Sniptool [19.02.2020]

Die meisten Screenshot-Werkzeuge sind in ihrem Umfang eingeschränkt und bieten keine oder nur wenige Funktionen zur Bildbearbeitung. Mit dem kostenlosen Programm "Sniptool" können Sie mehrere Screenshots erstellen und diese in einer Oberfläche kombinieren. Darüber hinaus lassen sich die Bilder mit Text, Pfeilen und verschiedenen Formen versehen. [mehr]

Mit 1820 Servern zum Supercomputer [18.02.2020]

52 Petaflops – also 52 Billiarden Operationen pro Sekunde – beträgt die Leistung des unlängst in Betrieb genommenen Supercomputers HPC5. Laut dem italienischen Gas- und Erdölkonzern Eni handelt es sich dabei um den derzeit schnellsten Supercomputer in privatwirtschaftlicher Hand. Der Rechner steht in einem Green Data Center des Unternehmens südlich von Mailand und nutzt vor Ort erzeugte Solarenergie zur Reduzierung der Emissionen. [mehr]

Buchbesprechung

Technik der IP-Netze

von Anatol Badach und Erwin Hoffmann

Anzeigen