ルータがオフラインになった場合、またはLANから切断された場合は、コンピュータの電源を切ってください。必要なのは、Windowsの起動と同時にステータスの監視を開始し、ルータがLANに接続されているかどうかを確認し続ける方法です。何らかの理由で接続が切断された場合は、PCがシャットダウンしようとしていることを90秒間警告して、シャットダウンをキャンセルすることができます。これを達成する方法はありますか?
ルータがオフラインになった場合、またはLANから切断された場合は、コンピュータの電源を切ってください。必要なのは、Windowsの起動と同時にステータスの監視を開始し、ルータがLANに接続されているかどうかを確認し続ける方法です。何らかの理由で接続が切断された場合は、PCがシャットダウンしようとしていることを90秒間警告して、シャットダウンをキャンセルすることができます。これを達成する方法はありますか?
回答:
これをに貼り付ける 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を2回押します。
作成したタスクを見つけて右クリックして選択します。 Run
。
ダイアログボックスが次のように表示されます。
編集する Shutdown.cmd
あなたのニーズ(ルーターアドレスなど)に合うように。
VBSスクリプトはここから来ます: リンク 。