微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用.NET代码将系统时间同步到域控制器

我有基于时间的testing运行,需要在testing过程中多次更改系统时间。 我希望能够在testing结束时重新同步到域控制器的时间。 我有任何使用.NET代码(C#)的方法。 我正在改变时间使用p-invoke函数中find:

以编程方式使用C#

谢谢

C# – ScheduledTasks类 – 如何指定本地主机?

.net FileSystemWatcher不拾取移动的文件

任务pipe理器不同意Process Explorer?

如何在Visual Studio 2010中设置环境variables?

在C#中列出Windowsnetworking连接/configuration文件

在.NET代码中使用Windows资源pipe理器?

当源和目标位于同一个远程文件服务器上时,是否远程处理File.copy?

运行ProgId动词的命令

如何使用c + +或vb.net获取当前打开的应用程序在Windows中?

在Windows Mobile上访问可用Wifi AP的列表

一个简单的方法是启动一个进程并运行NET TIME命令(复制自http://blogs.msdn.com/sanket/archive/2006/11/02/synchronizing-machine-time-with-domain-controller。 aspx )

using System; using System.Diagnostics; class Program { static void Main(string[] args) { Process netTime = new Process(); netTime.StartInfo.FileName = "NET.exe"; netTime.StartInfo.Arguments = "TIME /domain:mydomainname /SET /Y"; netTime.Start(); } }

作为对其他答案的补充:

你应该认真考虑让“当前时间”的概念以某种方式注入你的系统。 从系统时钟直接读取是非常有问题的(即使在运行应用程序时),正是因为它是全局状态。

您可以使用命令行工具w32tm来执行此操作:

w32tm /resync

这既不是C#和.NET,但它希望符合您的要求。

最简单的方法是使用System.Diagnostics.Process运行具有相应参数的net time命令以同步回DC。

从命令提示符运行这个来看看我在说什么:

net time /?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐