The following error occurred: The service has not been started. (0x80070426)
Drat. w32tm only works if Windows Time service is started which I've always assumed to be default but I guess isn't. Ok then ....

vb.net Code:
  1. ' add reference to System.ServiceProcess
  2.  
  3.         Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
  4.  
  5.         Dim sc As New ServiceProcess.ServiceController("Windows Time")
  6.         Dim StartedByProcess As Boolean = False
  7.         If sc.Status = ServiceProcess.ServiceControllerStatus.Stopped Then
  8.             sc.Start()
  9.             sc.WaitForStatus(ServiceProcess.ServiceControllerStatus.Running)
  10.             StartedByProcess = True
  11.         End If
  12.  
  13.         Dim p As New Process
  14.         p.StartInfo.FileName = "w32tm"
  15.         p.StartInfo.Arguments = "/resync "
  16.         p.StartInfo.CreateNoWindow = True
  17.         p.StartInfo.UseShellExecute = False
  18.         p.StartInfo.RedirectStandardOutput = True
  19.         p.Start()
  20.  
  21.         If p.StandardOutput.ReadToEnd.Contains("completed successfully") Then
  22.             Label1.Text = "Time Synchronised " & Now.ToString
  23.         Else
  24.             Label1.Text = "Unable to synchronise time at this time, which may or may not be " & Now.ToString
  25.         End If
  26.  
  27.         If StartedByProcess Then sc.Stop()
  28.         sc.Dispose()
  29.            
  30.     End Sub