Я хотел бы выключить компьютер, если мой маршрутизатор отключается или отключается от локальной сети. Мне нужен способ начать мониторинг состояния одновременно с запуском Windows и постоянно проверять, подключен ли маршрутизатор к локальной сети. Если по какой-либо причине он отключается, я хотел бы получить 90-секундное предупреждение о том, что ПК собирается выключиться, что позволит мне отменить выключение. Есть ли способ сделать это?

1 ответ1

2

Скопируйте, вставьте это в Notepad и сохраните как 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\

Откройте Task Scheduler (найдите его в меню «Пуск»).

Создайте новое задание, дайте ему имя.

В Trigger At log on Repeat task every: выберите нужный интервал повтора (как часто проверять наличие LAN-соединения, for a duration of: Indefinitely . В разделе « Action нажмите « New... , « Start a program , « Browse... и найдите недавно созданный файл Shutdown.cmd . Нажмите OK дважды, чтобы создать задачу. Найдите только что созданную задачу, щелкните правой кнопкой мыши и выберите « Run . Диалоговое окно должно отображаться так:

Диалог выключения

Отредактируйте файл Shutdown.cmd в соответствии с вашими потребностями (адрес маршрутизатора и т.д.).

Отсюда и VBS-скрипт: Ссылка.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .