Como criar um ponto de restauração do sistema por meio de programação?

Eu estou procurando uma maneira de criar um ponto de restauração do sistema com a data e hora atual pressionando um botão. Eu tentei pesquisar na web por uma maneira simples de fazer isso, mas ainda não encontrei uma.

Eu encontrei este trecho de código de:http://msdn.microsoft.com/pt-br/library/windows/desktop/aa378847%28v=vs.85%29.aspx mas é em VB e não C #, eu tentei converter um pouco, mas eu não acho que estou fazendo um ótimo trabalho traduzindo isso.

'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