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!

Ähnliche Beiträge

Intune Autopilot Set Time Zone
Microsoft Intune

Zeitzone automatisch setzen in Intune Autopilot

Setze die richtige Zeitzone während Intune Autopilot automatisch – mit meinem PowerShell-Skript und der IPInfo API. Schnell, einfach und ohne zusätzliche Dienste.

Windows Service mit Intune Verwalten
Microsoft Intune

Windows Service mit Intune Verwalten

Lerne, wie du Windows Services mit Microsoft Intune verwalten kannst. Ich nutze dazu PowerShell und die Script Funktion.

Get-AutopilotProfileInfo
Microsoft Intune

Wo ist mein Gerät registriert? Get-AutopilotProfileInfo

Ist dein Windows Autopilot-Gerät bei der falschen Organisation registriert? Dann hilf sicher dieses PowerShell: Get-AutopilotProfileInfo