我们在虚拟机上也有一个测试服务器.到目前为止,我一直在测试服务器上使用自动更新,以使其完全保持最新状态.但是,如果生产服务器尚未安装其中一个更新,则可能会出现问题.基本上,我们不会在类似生产的环境中真正测试我们的软件.
所以我想知道的是:
>是否有可以比较2台Windows 2003服务器之间的Windows更新的软件包?理想情况下,该解决方案可以并排比较2台服务器(想想BeyondCompare),下载和安装/卸载更新以同步测试和生产.
>如果当前不存在软件,可以使用哪些API来检索此信息以构建自定义应用程序?
>对于Windows更新,您对如何保持2个环境同步有任何其他建议,因为我无法控制其中一个环境吗?
我发现WinUpdatesList可以在一台机器上列出所有更新,但没有内置的比较机制,也没有说它是否支持Windows Server 2003.但是,从2个单独的列表手动比较数百个更新只是’一个选项.
我还发现this post提供了如何确定是否安装了特定更新的代码示例,可以轻松地对其进行调整以获得完整的更新列表.但是,当我尝试它时不起作用 – 可能是因为代码依赖于自动更新服务,该服务未在生产中运行.实际上,由于生产服务器在Parallels Virtuozzo容器中运行,因此启动自动更新服务可能会导致服务器文件损坏.
更新
这最终对我们来说不是问题,因为Virtuozzo被证明是完全不稳定的,并且可能进入无法启动的状态.我们(刚刚勉强)设法让它保持足够长的时间来迁移到Hyper-V.我们实际上必须在完全验证Hyper-V服务器之前进行迁移,因为Virtuozzo关闭了虚拟服务器,然后没有任何备份启动.
使用Hyper-V,我们可以管理自己的Windows更新.因此,我们可以先在测试环境中安装它们,然后在准备好后将它们安装到生产环境中.只要我们保持服务器完全更新,就很容易看到生产中缺少哪些更新,并且不需要比较工具.