Wie kann ich einen Wiederherstellungspunkt automatisch vor Windows-Updates erstellen lassen?

Melden
  1. Warum einen Wiederherstellungspunkt vor Windows-Updates erstellen?
  2. Voraussetzungen und Hinweise
  3. Erstellung eines PowerShell-Skripts zum Erzeugen des Wiederherstellungspunkts
  4. Erstellen einer geplanten Aufgabe, um das Skript vor Updates auszuführen
  5. Zusammenfassung und mögliche Erweiterungen

Warum einen Wiederherstellungspunkt vor Windows-Updates erstellen?

Windows-Updates können zwar die Sicherheit und Stabilität Ihres Systems verbessern, führen aber gelegentlich auch zu Kompatibilitätsproblemen oder unerwarteten Fehlern. Ein Wiederherstellungspunkt speichert den aktuellen Systemzustand und ermöglicht es Ihnen, Ihr System auf diesen Zustand zurückzusetzen, falls nach einem Update Probleme auftreten. Deshalb ist es sehr sinnvoll, automatisch vor der Installation von Updates einen Wiederherstellungspunkt zu erstellen.

Voraussetzungen und Hinweise

Damit die automatische Erstellung von Wiederherstellungspunkten funktioniert, muss der Systemschutz auf dem gewünschten Laufwerk (meistens C:) aktiviert sein. Außerdem benötigen Sie Administratorrechte, um Skripte oder Aufgaben auszuführen, die Wiederherstellungspunkte erzeugen.

Erstellung eines PowerShell-Skripts zum Erzeugen des Wiederherstellungspunkts

Windows bietet keine eingebaute einfache Möglichkeit, automatisiert vor Updates einen Wiederherstellungspunkt zu erstellen. Man kann dies jedoch mit einem PowerShell-Skript in Kombination mit der Windows-Scheduled-Tasks nutzen.

Das folgende PowerShell-Skript nutzt die Windows Management Instrumentation (WMI), um den Wiederherstellungspunkt zu erstellen. Öffnen Sie einen Texteditor und speichern Sie folgenden Code als CreateRestorePoint.ps1 ab:

# Name des Wiederherstellungspunkts$restorePointName = "Vor Windows Update"# Zugriff auf das WMI-Objekt für Systemwiederherstellung$srClient = Get-WmiObject -List SystemRestoretry { $checkSupport = $srClient.SystemRestoreIsShutdownInProgress() if ($checkSupport -eq 1) { Write-Output "Systemwiederherstellung ist im Shutdown-Modus. Vorgang wird abgebrochen." exit 1 } else { # Erstellen des Wiederherstellungspunkts $result = $srClient.CreateRestorePoint($restorePointName, 12, 100) if ($result.ReturnValue -eq 0) { Write-Output "Wiederherstellungspunkt erfolgreich erstellt: $restorePointName" } else {

Write-Output "Fehler beim Erstellen des Wiederherstellungspunkts. Rückgabewert: $($result.ReturnValue)"

} }} catch { Write-Output "Fehler: $_" exit 1}

Write-Output "Fehler beim Erstellen des Wiederherstellungspunkts. Rückgabewert: $($result.ReturnValue)"

Die Zahl 12 im Befehl steht für den Ereignistyp APPLICATION_INSTALL und 100 für den Typ eines Wiederherstellungspunkts. Dieser Wert wird verwendet, um anzugeben, dass es sich um einen manuellen oder softwareinstallationsbezogenen Wiederherstellungspunkt handelt.

Erstellen einer geplanten Aufgabe, um das Skript vor Updates auszuführen

Damit das Skript automatisch vor Windows-Updates ausgeführt wird, kann man eine geplante Aufgabe (Scheduled Task) anlegen, die vor dem Update startet. Allerdings bietet Windows keine direkte Möglichkeit, einen Trigger für vor Update-Installation einzustellen. Daher muss man den Task so einrichten, dass dieser z.B. bei Systemstart oder bei Anmeldung ausgeführt wird, und mit einem eigenen Script oder einer Überwachung das Update-Fenster erkennen.

Alternativ können Sie den Task so planen, dass das Skript vor einem definierten Zeitfenster ausgeführt wird, wenn Sie wissen, wann Updates installiert werden (z.B. täglich vor 3 Uhr nachts).

Um die geplante Aufgabe anzulegen, führen Sie die PowerShell als Administrator aus und verwenden Sie folgendes Beispiel:

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -WindowStyle Hidden -File `"C:\Pfad\zu\CreateRestorePoint.ps1`""

$trigger = New-ScheduledTaskTrigger -Daily -At 02:30$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest

Register-ScheduledTask -TaskName "CreateRestorePointBeforeUpdate" -Action $action -Trigger $trigger -Principal $principal

$action = New-ScheduledTaskAction -Execute "PowerShell.exe" -Argument "-NoProfile -WindowStyle Hidden -File `"C:\Pfad\zu\CreateRestorePoint.ps1`""

Register-ScheduledTask -TaskName "CreateRestorePointBeforeUpdate" -Action $action -Trigger $trigger -Principal $principal

Das obige Beispiel startet das Skript täglich um 2:30 Uhr mit höchsten Rechten unter dem SYSTEM-Account. Sie passen die Uhrzeit an Ihre Anforderungen an.

Zusammenfassung und mögliche Erweiterungen

Die automatische Erstellung eines Wiederherstellungspunkts direkt vor der Windows-Update-Installation erfordert entweder ein manuelles Scheduling oder eine erweiterte Überwachung, da Windows keinen direkten Trigger für vor Update anbietet. Mit einem PowerShell-Skript und einem geplanten Task können Sie jedoch sicherstellen, dass regelmäßig Wiederherstellungspunkte vor erwarteten Updates erstellt werden.

Falls Sie mehr Kontrolle benötigen, kann man mit erweiterten Skripten das Windows-Event-Log überwachen oder eigene Update-Installer-Skripte verwenden, um das Erstellen des Wiederherstellungspunktes präzise zu timen.

Außerdem sollten Sie regelmäßig überprüfen, dass der Systemschutz aktiviert ist, da sonst keine Wiederherstellungspunkte erstellt werden können.

0
0 Kommentare