Como desligar o computador se não houver conexão LAN

0

Eu gostaria de desligar meu computador se meu roteador ficar off-line ou desconectado da LAN. O que eu preciso é uma maneira de começar a monitorar o status simultâneo com o início do Windows e continuar verificando se o roteador está conectado à rede local. Se ele for desconectado por qualquer motivo, eu gostaria de receber um aviso de 90 segundos de que o PC está prestes a desligar, o que me permite cancelar o desligamento. Existe uma maneira de conseguir isso?

    
por Rohit Panchal 11.11.2017 / 19:59

1 resposta

2

Copie e cole isso em Notepad e salve como Shutdown.cmd :

@ECHO OFF
REM Ping switch/router
    PING 192.168.1.1 | FINDSTR TTL
    ECHO Errorlevel is %ERRORLEVEL%

REM Ping responds
    IF %ERRORLEVEL% EQU 0 GOTO :ConnectedToLAN

REM Ping does not respond
    IF %ERRORLEVEL% EQU 1 GOTO :NotConnectedToLAN

GOTO :eof

:ConnectedToLAN
    ECHO Connected to LAN
    GOTO :eof

:NotConnectedToLAN
    ECHO Not connected to LAN
    MKDIR %tmp%\TKH\Connected_to_Internet
    REM VBScript to make popup dialog
    (
        ECHO.Option Explicit
        ECHO.Dim oShell, retCode
        ECHO.Set oShell = WScript.CreateObject^("WScript.Shell"^)
        ECHO.retCode = oShell.Popup^("Shutdown computer now? If no answer is given within 90 sec computer will shutdown.", 90, "Shutdown?", 4 + 32^)
        ECHO.Select Case retCode
        ECHO.   case 6, -1
        ECHO.       WScript.quit^(0^) 'Yes or time-out was chosen
        ECHO.   case 7
        ECHO.       WScript.quit^(1^) 'No was chosen
        ECHO.End Select
    )>"%tmp%\TKH\Connected_to_Internet\Shutdown.vbs"
    CSCRIPT //nologo "%tmp%\TKH\Connected_to_Internet\Shutdown.vbs"
    ECHO Errorlevel is %ERRORLEVEL%

    REM Timeout or clicked Yes (Shutdown)
    IF %ERRORLEVEL% EQU 0 SHUTDOWN /P /F

    REM Clicked No (Do nothing)
    IF %ERRORLEVEL% EQU 1 REM

REM Clean up
    RD /Q /S "%tmp%\TKH\

Abra Task Scheduler (procure por ele no menu inicial).

Crie uma nova tarefa, dê um nome a ela.

Em Trigger put At log on , Repeat task every: escolha o intervalo de repetição desejado (com que frequência verificar a conexão de LAN, for a duration of: Indefinitely . Em Action Clique em New... , Start a program , Browse... e localize o arquivo Shutdown.cmd que você criou recentemente. Pressione OK duas vezes para criar a tarefa. Encontre a tarefa que você acabou de criar e clique com o botão direito do mouse e escolha Run . Uma caixa de diálogo deve aparecer assim:

EditeShutdown.cmdparaatenderàssuasnecessidades(endereçodoroteador,etc.).

OscriptVBSvemdaqui: Link .

    
por 12.11.2017 / 01:11