Eu tenho um servidor Windows que às vezes reinicia no modo de segurança após as atualizações. Estou trabalhando nessa questão, mas o que eu realmente gostaria de saber é como posso verificar se o Windows está sendo executado no modo de segurança ou não.
Idealmente, gostaria de incorporá-lo a um script que envie uma verificação passiva para a nossa caixa do Nagios com o status
Existe alguma variável ambiental que eu possa usar ou alguma maneira de obter essas informações através da linha de comando?
Respostas:
Eu acho que isso faz o que você está procurando
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394102%28v=vs.85%29.aspx
Possíveis valores de retorno:
fonte
(gwmi win32_computersystem -Property BootupState).BootupState
De acordo com este artigo , uma variável de ambiente chamada
SAFEBOOT_OPTION
é definida comoMinimal
ouNetwork
se o sistema for iniciado no Modo de Segurança ou no Modo de Segurança com Rede; caso contrário, a variável não está definida.Um teste no valor da variável deve fazer o truque; no entanto, lembre-se de que, se o sistema estiver realmente executando no modo de segurança, ele não terá rede para começar, portanto, reportar seu status pode ser ... difícil.
fonte
Edição: meu mal, eu não li o KB completamente o suficiente para perceber que é basicamente inútil como resposta por si só.
Uma maneira mais útil de determinar se você está no modo de segurança é : Microsoft® Windows® Internals: Microsoft Windows ServerTM 2003, Windows XP, and Windows 2000de Mark E. Russinovich, David A. Solomon .
Pegue o acima e emparelhe com o abaixo, e você terá um local de registro que poderá verificar com um valor numérico que possa ser traduzido em algo útil.
No support.microsoft KB intitulado "Como determinar se o sistema está sendo executado no Modo de Segurança a partir de um driver de dispositivo".
fonte
InitSafeBootMode
?HKLM\SYSTEM\CurrentControlSet\SafeBoot\Option
não existe em um sistema que não seja do modo seguro, mas existe em um sistema do modo seguro.Você também pode executar a consulta WMI sugerida por Craig620 diretamente na linha de comando, se você não estiver usando o PowerShell:
fonte
HKLM \ SYSTEM \ CurrentControlSet \ Control \ SystemStartOptions contém uma sequência e, se você estiver no modo de segurança, haverá um "SAFEBOOT: ???" dentro da string onde ??? é MINIMAL ou REDE. Isso é atualizado em cada inicialização.
fonte