Tengo un servidor de Windows que a veces se reiniciará en modo seguro después de las actualizaciones. Estoy trabajando en ese problema, pero lo que realmente me gustaría saber es cómo puedo verificar si Windows se está ejecutando en modo seguro o no.
Idealmente, me gustaría incorporarlo a un script que enviaría una verificación pasiva a nuestro cuadro Nagios con el estado.
¿Hay alguna variable ambiental que pueda usar o alguna forma de obtener esta información a través de la línea de comando?
Respuestas:
Creo que esto hace lo que buscas
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394102%28v=vs.85%29.aspx
Posibles valores de retorno:
fuente
(gwmi win32_computersystem -Property BootupState).BootupState
De acuerdo con este artículo , una variable de entorno llamada
SAFEBOOT_OPTION
se establece enMinimal
oNetwork
si el sistema se inicia en modo seguro o en modo seguro con funciones de red; de lo contrario, la variable no está establecida.Una prueba sobre el valor de la variable debería hacer el truco; sin embargo, tenga en cuenta que si el sistema realmente se está ejecutando en Modo a prueba de errores, no tendrá redes para comenzar, por lo que informar su estado podría ser ... difícil.
fuente
EDITAR: mi mal, no leí el KB lo suficiente como para darme cuenta de que es básicamente inútil como respuesta por sí solo.
Una forma más útil de determinar si está en modo seguro o no es de : Microsoft® Windows® Internals: Microsoft Windows ServerTM 2003, Windows XP, and Windows 2000por Mark E. Russinovich, David A. Solomon .
Tome lo anterior y empareje con el siguiente, y tendrá una ubicación de registro que puede verificar con un valor numérico que puede traducir en algo útil.
De support.microsoft KB titulado, "Cómo determinar si el sistema se está ejecutando en modo seguro desde un controlador de dispositivo".
fuente
InitSafeBootMode
?HKLM\SYSTEM\CurrentControlSet\SafeBoot\Option
no existe en absoluto en un sistema que no sea en modo seguro, pero sí en uno seguro.También puede ejecutar la consulta WMI sugerida por Craig620 directamente desde la línea de comandos, si no está utilizando PowerShell:
fuente
HKLM \ SYSTEM \ CurrentControlSet \ Control \ SystemStartOptions contiene una cadena y si está en modo seguro habrá un "SABOBOOT: ???" dentro de la cadena donde ??? es MÍNIMO o RED. Esto se actualiza en cada arranque.
fuente