fbe28fc6bb08a534deeb214334e1bda32f88514f
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"
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
- Konfiguration - Alle INI-Optionen im Detail
- Benachrichtigungen - ntfy und E-Mail einrichten
- Aufgabenplanung - Windows Task Scheduler Setup
- Problembehandlung - Häufige Fehler und Lösungen
© Patrick Asmus · Techniverse Network · Lizenz
Languages
PowerShell
100%