scloud by Florian Salzmann
ende

Splash Screen für Windows: Start-SplashScreen

Du brauchst eine ansprechende Möglichkeit, deine PowerShell-Skripte zu präsentieren? Du möchtest Nutzern Feedback zum Fortschritt geben und die Benutzerfreundlichkeit verbessern? Dann ist das PowerShell-Skript Start-SplashScreen genau das Richtige! Damit machst du näcmilich ohne viel AUfwnad einen Splashscreen für Windows, den zu zum Beipiel in der OOBE Phase nutzen kannst.

Was ist Start-SplashScreen?

Start-SplashScreen ist ein von mir entwickeltes PowerShell-Skript, mit dem du eine Reihe von Skripten ausführen kannst, während gleichzeitig ein anpassbarer Splashscreen angezeigt wird. Dieser Splashscreen bietet Echtzeit-Updates zum Fortschritt des Skripts, einschliesslich des aktuell ausgeführten Skriptnamens und seines Status.

Warum Start-SplashScreen verwenden?

  • Flexibilität: Führe sowohl lokale PowerShell-Befehle als auch Skripte aus Online-Repositories aus.
  • Verbesserte Benutzerfreundlichkeit: Ein Splashscreen kann die wahrgenommene Professionalität und Komplexität deiner Skripte erheblich steigern.
  • Echtzeit-Feedback: Nutzer können den Fortschritt des Skripts verfolgen und so Frustration und Unsicherheit verringern.
  • Anpassung: Passe das Aussehen des Splashscreens einfach an dein Branding oder deine Vorlieben an.

Wie verwende ich Start-SplashScreen?

Skript herunterladen

Du findest das Start-SplashScreen-Skript in meinem GitHub-Repository oder noch einfacher über die PowerShell Gallery:

Install-Script -Name Start-SplashScreen

Script @PowerShell Gallery

Script @GitHub

Prozesse definieren

Erstelle ein Array von Objekten, die jeweils eine Eigenschaft “Name” und “Script” enthalten. Die Eigenschaft “Script” kann ein lokaler PowerShell-Befehl oder eine URL zu einem Online-Skript sein.

$processes = @(
  @{
    Name = "Reading IP Adresses"
    Script = "Get-NetIPAddress"
  },
  @{
    Name = "Windows Quality Updates"
    Script = "https://raw.githubusercontent.com/FlorianSLZ/OSDCloud-Stuff/main/OOBE/Windows-Updates_Quality.ps1"
  },
  @{
    Name = "Windows Firmware and Driver Updates"
    Script = "https://raw.githubusercontent.com/FlorianSLZ/OSDCloud-Stuff/main/OOBE/Windows-Updates_DriverFirmware.ps1"
  }
)

Start-SplashScreen -Processes $processes -MessageHeader "Windows Preparation"

Dieses Beispiel führt einen PowerShell-Befehl und zwei Skripte aus: “Get-NetIPAddress” und die Installation von Qualitätsupdates sowie Firmware- und Treiberupdates. Währenddessen wird ein Splashscreen mit der Kopfzeile “Windows Vorbereitung” angezeigt.

Das Endrelultat dies Beispiels schaut so aus:

Windows Splash Screen with Start-SplashScreen

Splashscreen anpassen (optional)

Verwende optionale Parameter wie “MessageHeader”, “MessageText”, “MessageFinished”, “ClosingTimer”, “ColorBackground” und “ColorText”, um den Splashscreen zu personalisieren.

Mein Lieblingsanwendungsfall (bisher)

Eine meiner Lieblingsanwendungen für Start-SplashScreen ist in Verbindung mit OSDCloud und SetupComplete.cmd. Damit erstelle ich einen optimierten Windows-Einrichtungsprozess. Der Splashscreen zeigt den Fortschritt der Installation von Windows-Updates, der Aktivierung von Windows und der Ausführung zusätzlicher PowerShell-Skripte nach Bedarf an. Dieser Ansatz bietet Endbenutzern eine professionelle und informative Erfahrung und verhindert ausserdem, dass sie versehentlich das laufende PowerShell-Fenster schliessen.

https://youtu.be/rCGROAA5e3Y

Als Inspiration für den SetupComplete-Prozess habe ich mich stark auf Akos’ hervorragenden Blogbeitrag in seiner OSDCloud-Serie gestützt: OOBE Challenges #2: A Better Solution – Ákos Bakos (akosbakos.ch)

Fazit

Start-SplashScreen ist ein vielseitiges Tool, das deine PowerShell-Skripte erheblich verbessern kann. Durch visuelle Rückmeldungen und Anpassungsmöglichkeiten schafft es eine ansprechendere Benutzererfahrung. Probiere es unbedingt aus und sieh selbst, wie es deinen Projekten zugute kommt!