Aus einem How-to-Geek-Artikel erhalte ich ein Skript wie das folgende:
strDesc = "Restore Point by script"
Set oArgs = WScript.Arguments
If oArgs.Count > 0 Then strDesc = oArgs(0)
WScript.Echo "Creating Restore Point: " & strDesc
Set oRestorePoint = GetObject("winmgmts:\\.\root\default:SystemRestore")
strResult = oRestorePoint.CreateRestorePoint(strDesc, 0, 100)
If strResult <> 0 Then
WScript.Echo "Error " & strResult & ": Unable to create Restore Point"
WScript.Sleep 444000 'Let user see the result
Else
WScript.Echo "Restore Point created successfully."
WScript.Sleep 2000 'Let user see the result
End If
WScript.Quit strResult
Ich erstelle mit diesem Skript eine geplante Aufgabe unter Windows 7, damit es täglich einen Wiederherstellungspunkt für mich erstellt, und es funktioniert einwandfrei.
Unter Windows 8.1 / 10 finde ich jedoch ein merkwürdiges Verhalten. In einer Administrator-CMD wird ausgeführt
cscript CreateRestorePoint.vbs
erstellt keinen neuen Wiederherstellungspunkt, wenn ein Wiederherstellungspunkt vorhanden ist (es wird jedoch weiterhin "Wiederherstellungspunkt erfolgreich erstellt" gedruckt). Mit anderen Worten, cscript CreateRestorePoint.vbs
erstellt einen Wiederherstellungspunkt erst, nachdem ich dies getan habe vssadmin delete shadows /all
, aber ein zweiter Durchlauf cscript CreateRestorePoint.vbs
schlägt aufgrund des vorhandenen ersten Wiederherstellungspunkts fehl. - Dieses Problem tritt unter Windows 7 SP1 nicht auf.
Kann jemand dieses Problem unter Windows 8.1 / 10 erklären und beheben?
UPDATE: Problem gelöst
Wie Ken in seinem Kommentar ausführt, ist das Hinzufügen eines Registrierungsschlüssels [HKLM\Software\Microsoft\Windows NT\CurrentVersion\SystemRestore] SystemRestorePointCreationFrequency=10
die Lösung (Neustart erforderlich). Seit Windows 8 erlaubt Microsoft standardmäßig, alle 24 Stunden nur einen Wiederherstellungspunkt zu erstellen. SystemRestorePointCreationFrequency=10
verringern Sie diese Grenze auf 10 Minuten. Siehe diese MSDN-Seite .
quelle
Antworten:
Es ist viel einfacher, Power Shell für Windows 8.1 und 10 zu verwenden. Beide haben es und Sie erstellen einen Einzeiler und benennen ihn.
Ein Hinweis .. Sie können den Checkpoint nur einmal alle 24 Stunden ausführen.
Platzieren Sie diese Zeile im Editor und speichern Sie die Datei als CreateCheckpoint.ps1 (stellen Sie sicher, dass die Datei nicht als CreateCheckpoint.ps1.txt gespeichert wird).
Wechseln Sie zu einer Administrator-Eingabeaufforderung, und geben Sie Powershell ein. Ein Fenster öffnet sich. Gehen Sie einfach zum Pfad der Datei und geben Sie ./createcheckpoint.ps1 ein, um den Wiederherstellungspunkt zu erstellen.
Wenn dies funktioniert, wird der Wiederherstellungspunkt in Ihrer Liste angezeigt. Wenn Sie dies in eine geplante Aufgabe einfügen möchten, erstellen Sie eine run.bat-Datei und platzieren Sie diese Zeilen darin. Ändern Sie den Pfad dahin, wo Sie die ps1-Datei abgelegt haben. Sie müssen die bat-Datei als Administrator ausführen.
quelle