Вы можете использовать:
net time \\computer_name
Вам нужно будет только раскошелиться на это и проанализировать результат.
Вот пример кода. Это на C #, но должно быть довольно легко переводить.
static DateTime GetRemoteDateTime(string machineName)
{
machineName = @"\\" + machineName;
System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo("net", "time " + machineName);
startInfo.RedirectStandardOutput = true;
startInfo.UseShellExecute = false;
System.Diagnostics.Process p = System.Diagnostics.Process.Start(startInfo);
p.WaitForExit();
string output = p.StandardOutput.ReadLine();
output = output.Replace("Current time at " + machineName + " is ", "");
return DateTime.Parse(output);
}
Я не стал добавлять обработку ошибок (если машина не найдена и т. Д.) - вы можете добавить все, что вам нужно для ваших целей.