2009-04-21 21 views
6

Estoy usando la API de actualización de Windows para actualizar varias VM. Con Windows Update llega el inevitable reinicio. ¿Alguien puede pensar en una manera que yo podría decir de un servidor remoto si el recuadro de Windows realmente ha terminado su reinicio? Todas las ideas o pensamientos serían apreciados.¿Cómo se determina cuando Windows termina de reiniciar?

EDIT: Como las máquinas virtuales están en Lab Manager y utilizan una configuración vallada, WMI no funcionará, y aunque pensé en utilizar la máquina virtual para enviar una señal cuando se hizo una copia de seguridad. No habría habido manera de saber con seguridad a quién notificar, ya que la aplicación que espera la máquina podría estar en cualquier cantidad de máquinas, así que no parecía razonable. Sin embargo, el tiempo no es esencial (y aunque sé que esto me morderá en algún momento cuando se baja el Service Pack), he tenido mucho éxito con el PING y luego espero 5 minutos hasta ahora, así que voy a usarlo por ahora. Si encuentro excepciones, intentaré implementar la VM sin avisar al mundo cuando vuelva a aparecer. Gracias a todos.

+1

http://stackoverflow.com/questions/56644/how-do-i-detect-if-a-windows-server-is-available-after-a-reboot – dotjoe

+0

Offtopic Comentario - He publicado la respuesta a su comentario de respuesta a esta pregunta - http://stackoverflow.com/questions/1108359/how-to-choose-net-version-to-compile-project/1108380#1108380! Echale un vistazo. – Kirtan

Respuesta

5

sólo tiene que esperar a que ésta responda a un ping.

A la luz de sus comentarios:

1 - Use this script

2 - Si sale algún error con ese guión, follow these instructions.

+1

La máquina puede comenzar a hacer ping aproximadamente 5 minutos antes de que realmente pueda iniciar sesión o los servicios se vuelvan a ejecutar. Pero lo intenté;) – Alex

+0

5 * minutos *? Eso parece extremo. ¿Estás seguro de que no estás detectando las últimas respuestas de ping antes de que el servidor se caiga? – JosephStyons

+0

Bueno, debes recordar que estas son actualizaciones de Windows, y lo estoy intentando en el peor de los casos. Lo que significa vista y su dang 3 etapas de actualización. Voy a probar el guión y ver qué pasa. – Alex

1

La realidad es que no se puede saber cuando se se hace el arranque El proceso de arranque es bastante asincrónico, por lo que cualquiera que sea el criterio que utilice para determinar si se realiza el "arranque" puede ocurrir antes de que algo más complete.

Lo que recomendaría es determinar lo que realmente quiere saber. ¿Qué específicamente estás esperando? Encuentre una forma de determinar si esto ha ocurrido y olvídese de preocuparse por el "arranque".

Si solo necesita saber que la máquina está realizando una copia de seguridad pero que quizás no ha completado toda la carga posterior al inicio, coloque algo en la secuencia de inicio o un servicio que indique su código. Cuando tenga lugar esta señal, realice las acciones que necesite.

+0

Necesito básicamente recuperar la pantalla de inicio de sesión. Después de que las actualizaciones terminen de configurar. – Alex

1

Puede instalar un programa o servicio de inicio en la máquina para enviar un correo electrónico o algún tipo de publicación basada en red cada vez que se reinicia.

+0

Creo que intentaré esto más adelante ... – Alex

2

consultar este evento en el registro de eventos:

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. 
+0

La verificación del registro de eventos de forma remota no puede realizarse sin el servicio RPC. Mejor simplemente verificar el estado del servicio remoto del servicio "RpcSs". Esto también eliminaría la pequeña posibilidad de errores de registro de eventos, como el registro dañado. – spoulson

+0

@spoulson - buena idea, gracias –

0

se realiza de Windows reiniciar sólo un poco antes de que se necesitará reiniciar de nuevo :-)

Si está buscando específicamente para consultar el estado de máquinas virtuales a continuación, usted debe comprobar fuera de estos enlaces que se ocupan de la API para virtual Server 2005:

la interfaz IVMVirtualMachine ...

http://msdn.microsoft.com/en-us/library/aa368465(VS.85).aspx

... tiene una propiedad llamada State ...

IVMVirtualMachine :: Estado la propiedad

http://msdn.microsoft.com/en-us/library/aa368637(VS.85).aspx

... que devolverá un valor de la enumeración VMVMState ...

http://msdn.microsoft.com/en-us/library/aa368922(VS.85).aspx

A un nivel más general, debe probablemente defina la cantidad de Windows que desea que funcione. ¿Considera que la pila de red está lista para "reiniciarse" o necesita IIS/SQL o algún otro servicio de nivel de aplicación?

Probablemente escribiría una aplicación que verifique el "latido del corazón" de sus servidores; esa aplicación podría ser la misma que invoca las actualizaciones de Windows. Luego obtendrás una buena "consola" que te muestra el estado de tus servidores. La aplicación de ritmo cardíaco podría hacer ping a un servidor, pulsar una página html estática, acceder al registro de eventos remoto, usar WMI o lo que usted defina como suficiente para considerar reiniciar el servidor.

+0

Estoy en VMWare no VirtualServer, y durante un reinicio, el tiempo que la máquina está apagada es muy pequeño. Casi no hay posibilidad de detectarlo, por lo que siempre responde a través de la API de vmware – Alex

Cuestiones relacionadas