我正在使用Windows Update API来更新一堆VM。随着Windows Update的出现,不可避免的重启。任何人都可以想到一种方法,我可以告诉远程服务器,如果Windows框确实已完成重启?所有的想法或想法都会受到赞赏。
编辑: 由于VM位于Lab Manager中并使用隔离配置,因此WMI不起作用,尽管我考虑使用VM在备份时发送信号。由于等待机器的应用程序可能在任何数量的机器上,所以没有办法可靠地知道通知谁,所以它似乎不合理。但是时间并不重要(尽管我知道这会在Service Pack关闭的时候咬我)我在PING上取得了很好的成绩,然后等了5分钟到目前为止,所以我现在要用它。如果我遇到异常,那么我会尝试在重新启动时实现虚拟机。谢谢大家。
答案 0 :(得分:5)
答案 1 :(得分:2)
在事件日志中检查此事件:
Event Type: Information
Event Source: EventLog
Event Category: None
Event ID: 6005
Date: 7/27/2007
Time: 12:56:24 PM
User: N/A
Computer: IWSDEV
Description:
The Event log service was started.
答案 2 :(得分:1)
答案 3 :(得分:1)
现实是你无法知道它何时完成启动。引导过程非常异步,因此无论您使用什么标准来确定它是否已完成“引导”都可能在其他事情完成之前发生。
我建议的是确定您真正想知道的内容。具体是什么,你在等什么?找到一种方法来确定是否已经发生这种情况并忘记担心“引导”。
如果您只需要知道机器已备份但可能尚未完成所有启动后加载,请在启动序列中添加一些内容或者为代码发出信号的服务。发出此信号时,请采取您需要采取的任何措施。
答案 4 :(得分:1)
您可以在计算机上安装启动程序或服务,以便每次重新启动时发送电子邮件或某种类型的基于网络的发布。
答案 5 :(得分:0)
在完全需要重新启动之前,Windows仅稍微重启: - )
如果您特别想查询VM的状态,那么您应该查看这些处理Virtual Server 2005 API的链接:
IVMVirtualMachine界面......
http://msdn.microsoft.com/en-us/library/aa368465(VS.85).aspx
...有一个名为State的属性......
IVMVirtualMachine :: State Property
http://msdn.microsoft.com/en-us/library/aa368637(VS.85).aspx
...将从VMVMState Enumeration返回一个值...
http://msdn.microsoft.com/en-us/library/aa368922(VS.85).aspx
在更一般的层面上,您应该定义您想要和运行多少Windows。您是否认为网络堆栈已准备好“重新启动”,或者您是否需要IIS / SQL或其他一些应用程序级服务?
我可能会编写一个应用程序来检查服务器的“心跳” - 该应用程序可能与调用Windows Update的内容相同。然后,您将获得一个很好的“控制台”,向您显示服务器的状态。心跳应用程序可以ping服务器,点击静态html页面,点击远程事件日志,使用WMI或任何你定义的足以考虑重新启动服务器。