Just simply create a system restore point: _CreateRestorePoint('Test Restore')
If Not @error Then MsgBox(0x40, "System Restore!", "System Restore Point created successfully.", 20)
Func _CreateRestorePoint($sRestorePointName)
Local $objSystemRestore
$objSystemRestore = ObjGet("winmgmts:{impersonationLevel=impersonate}!root/default:SystemRestore")
If Not $objSystemRestore.createrestorepoint($sRestorePointName, 0, 100) = 0 Then SetError(1)
EndFunc ;==>_CreateRestorePoint Credit goes to bchris01 for the updated code.