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 .