Files
windows-updater/README.md
Patrick Asmus cc4eae2eb4 Dokumentation
2026-07-05 21:53:53 +02:00

4.1 KiB

Techniverse Community

Windows Updater

Automatisiertes Windows Update Management per PowerShell. Installiert Windows Updates, optional Winget-Pakete, und benachrichtigt per ntfy und/oder E-Mail.

🏰 Website · 📰 Community · 🐘 Mastodon · 💬 Support


Repository: https://git.techniverse.net/scriptos/windows-updater

Features

  • Windows Updates automatisch installieren via PSWindowsUpdate-Modul
  • Winget-Updates optional (winget upgrade --all), automatische Erkennung der Verfügbarkeit
  • Benachrichtigungen via ntfy und/oder E-Mail (inkl. HTML-Report mit Ergebnis-Tabelle)
  • Dry-Run Modus zum Prüfen verfügbarer Updates ohne Installation
  • Update-Ausschlüsse für bestimmte KBs oder Treiber-Updates
  • Retry-Logik für fehlgeschlagene Updates (konfigurierbare Anzahl)
  • Log-Rotation mit einer Datei pro Tag und konfigurierbarer Aufbewahrung
  • Update-History als XLSX (mit ImportExcel-Modul) oder CSV-Fallback
  • WSUS-Erkennung automatisch, inkl. Anzeige des WSUS-Servers
  • Reboot-Management mit drei Modi: sofort, verzögert, oder zu bestimmter Uhrzeit
  • Pre-/Post-Update Hooks für eigene Scripts vor und nach dem Update-Vorgang
  • OS-Erkennung für Windows 10/11, Server 2016/2019/2022/2025

Unterstützte Betriebssysteme

OS Windows Updates Winget
Windows 10 Ja Ja (wenn installiert)
Windows 11 Ja Ja
Windows Server 2016 Ja Nein*
Windows Server 2019 Ja Nein*
Windows Server 2022 Ja Nein*
Windows Server 2025 Ja Nein*

*Winget ist auf Servern standardmäßig nicht verfügbar. Wird es manuell installiert, erkennt das Script dies automatisch.

Schnellstart

1. Repository klonen / Dateien kopieren

git clone https://git.techniverse.net/scriptos/windows-updater.git C:\scripts\windows-updater

2. Konfiguration erstellen

Copy-Item C:\scripts\windows-updater\config.example.ini C:\scripts\windows-updater\config.ini

Danach config.ini mit einem Texteditor öffnen und die gewünschten Werte anpassen. Siehe Konfiguration für alle Optionen.

3. Script ausführen (als Administrator)

powershell.exe -ExecutionPolicy Bypass -File "C:\scripts\windows-updater\windows-updater.ps1"

Screen1

4. Optional: Aufgabenplanung einrichten

Für automatische Ausführung per Windows Aufgabenplanung siehe Aufgabenplanung einrichten.

Exit-Codes

Code Bedeutung
0 Erfolg (Updates installiert, keine Updates verfügbar, oder Dry-Run)
1 Fehler (Modul-Fehler, Config fehlt, Updates fehlgeschlagen)
2 Neustart erforderlich, aber Auto-Reboot ist deaktiviert

PSWindowsUpdate-Modul

Das Script versucht zuerst, das PSWindowsUpdate-Modul online von der PowerShell Gallery zu installieren. Falls das nicht möglich ist (kein Internet, Firewall), wird automatisch die im Repository enthaltene Offline-Kopie verwendet.

Dokumentation



© Patrick Asmus · Techniverse Network · Lizenz