我有基于时间的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] 举报,一经查实,本站将立刻删除。