Jak programowo utworzyć punkt przywracania systemu?

Szukam sposobu, aby utworzyć punkt przywracania systemu z bieżącą datą i godziną, naciskając przycisk. Próbowałem przeszukać sieć w prosty sposób, ale jeszcze jej nie znalazłem.

Znalazłem ten fragment kodu z:http://msdn.microsoft.com/en-us/library/windows/desktop/aa378847%28v=vs.85%29.aspx ale jest w VB, a nie w C #, próbowałem go trochę przekonwertować, ale nie sądzę, żebym robił świetną robotę przy jego tłumaczeniu.

'CreateRestorePoint Method of the SystemRestore Class
'Creates a restore point. Specifies the beginning and 
'the ending of a set of changes so that System Restore 
'can create a restore point.This method is the 
'scriptable equivalent of the SRSetRestorePoint function.

Set Args = wscript.Arguments
If Args.Count() > 0 Then
    RpName = Args.item(0)
Else 
    RpName = "Vbscript"
End If

Set obj = GetObject("winmgmts:{impersonationLevel=impersonate}!root/default:SystemRestore")

If (obj.CreateRestorePoint(RpName, 0, 100)) = 0 Then
wscript.Echo "Success"
Else 
    wscript.Echo "Failed"
End If

questionAnswers(3)

yourAnswerToTheQuestion