[英]Disable Windows Update during long running processes
有时,我必须在一台Windows Server 2012服务器上运行长时间运行的进程。 该过程有时可以运行一周以上。 Windows更新必须重新启动时终止此过程。
我正在寻找一种方法来在其中一个进程正在运行时以编程方式停止Windows Update服务,并在该进程完成后重新启用Windows Update。 (而不只是禁用服务器上的Windows Update)。
对于可能的方法,我有2个想法:
2)从我的程序中调用PowerShell命令。
我不确定什么是最佳解决方案。 还是我没有看到更好的选择。
2年前,我必须实现这种功能。
做到这一点的方法是通过Windows注册表。
您必须编辑注册表值。
我确实记得Microsoft文档没有公开所有功能,存在一些错误,并且它们在Windows版本之间进行了一些更改。
*要应用行为,它们会编辑一些值并有时添加/删除一些值(在某些OS上,您还需要重新启动WUA)。
此链接 (在自动更新配置段落中)包含有关注册表值的更多信息。
在我用Procmon监视WUA时解决了我在Windows Update代理中遇到的那些问题
这就是我发现大多数问题的方式。
与注册表进行交互:
using (var hive = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine,RegistryView.Default))
using (var key = hive.OpenSubKey(@"put the key there (in most of the operation systems the key is not where microsoft documented)",true))
{
//do your logic
}
我无法提供更多信息,因为这将违反NDA。
提示:完成后,建议您使用API强制WUA
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.