Der Gedanke hinter dem PowerShell Script Framework (GitHub Projekt) ist, nur einen kleinen Teil des Scripts statisch auf dem System zu haben, der Rest soll dynamisch nachgeladen werden.

Durch dieses Vorgehen kann das je nach Bedarf ein nachgelagertes Script verändert oder sogar ganz neue Scripte hinzugefügt werden.

Im Detail sieht das Ganze dann so aus:

  1. Updater.ps1 wird gestartet
  2. Updater.ps1 lädt alle Files in seinem XML herunter
  3. Updater.ps1 startet das BaseScript.ps1 (in seinem XML Konfiguriert)
  4. BaseScript.ps1 startet alle Skripte in seinem XML nacheinander aus

Für den Download der weitere Daten ist ein WebServer von Nöten. Hier in meinem Beispiel verwende ich dazu diese WebSite, im Normalfall wird das aber ein interner IIS o.ä. sein.

Das Script Framework GitHub Projekt

GitHub: PS-ScriptFramework-AutoUpdate

PowerShell Script Framework with Auto Update

Das Script Framework im Detail

Updater.ps1

BaseScript.ps1

Das Script Framework in der Praxis

Dieses Vorgehen wurde ursprünglich entwickelt um auf einer größeren Anzhal von Kundensystemen ein extern aktualisierbares Script zur Lizenzerfassung laufen zu lassen.

In diesem Praxis beispiel sieht die XML für das BaseScript z.B. so aus:
BaseScript XML

  • Es wird als erstes die AD geprüft und vorbereitet
  • Es werden dann die Exchange SALS erfasst
  • Es werden final die Terminal Server User erfasst

Neue Versionen

17.08.2016

Updater.ps1 – Version 1.2

  • Neu: Selbst Update über Hash des lokalen und remote Files
  • Neu: Parameter zum deaktivieren des Selbst Update (-IgnoreUpdate:$True – Default ist $False)

myExample.ps1 – Version 1.1

  • Verbesserung: Statt einem neuen Eventlog Eintrag wird ein Popup angezeigt

BaseScript.ps1 – Version 1.1

  • Verbesserung: Nur Behebung von  Schönheitsfehlern

Hat Ihnen der Beitrag gefallen?

Nutzen Sie gerne für Ihren nächsten Amazon Einkauf diesen Affiliate Link und unterstützt Sie damit den Author des Artikels: http://amzn.to/2pAgZOD

Um schnell und einfach Ihre Lieblings Blogs und Autoren zu unterstützen, ist der Dienst Flattr ebenfalls eine tolle Möglichkeit!

Vielen Dank!