首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.NET代码将系统时间同步到域控制器

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

Stack Overflow用户
提问于 2009-09-24 14:51:24
回答 4查看 5.5K关注 0票数 6

我要运行基于时间的测试,这些测试需要在测试期间多次更改系统时间。我希望能够在测试结束时将时间重新同步到域控制器时间。我有任何方法可以使用.NET代码(C#)来做到这一点。我正在使用p-invoke函数更改时间,该函数位于:

Set time programmatically using C#

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-09-24 15:02:25

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

代码语言:javascript
复制
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();
    }
}
票数 17
EN

Stack Overflow用户

发布于 2009-09-24 15:06:43

作为对其他答案的补充:

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

票数 2
EN

Stack Overflow用户

发布于 2009-09-24 15:02:06

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

代码语言:javascript
复制
w32tm /resync 

这既不是C#也不是.NET,但希望它能满足您的需求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1472225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档