LANに接続していない場合にコンピュータをシャットダウンする方法


0

ルータがオフラインになった場合、またはLANから切断された場合は、コンピュータの電源を切ってください。必要なのは、Windowsの起動と同時にステータスの監視を開始し、ルータがLANに接続されているかどうかを確認し続ける方法です。何らかの理由で接続が切断された場合は、PCがシャットダウンしようとしていることを90秒間警告して、シャットダウンをキャンセルすることができます。これを達成する方法はありますか?

回答:


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 onRepeat task every: 繰り返しの間隔を選択してください(LAN接続を確認する頻度、 for a duration of: Indefinitely。 下 Action クリック New...Start a programBrowse... そして探します Shutdown.cmd 最近作成したファイル タスクを作成するために、OKを2回押します。 作成したタスクを見つけて右クリックして選択します。 Run。 ダイアログボックスが次のように表示されます。

Shutdown dialog

編集する Shutdown.cmd あなたのニーズ(ルーターアドレスなど)に合うように。

VBSスクリプトはここから来ます: リンク


どうやってそのバッチファイルを静かに動かすことができるのでしょうか。つまり、タスクはバックグラウンドで動作し、タスクは正常に動作していますが、私が作成したバッチファイルは最小化またはバックグラウンドでのみ起動します。
Rohit Panchal


プログラムは完全に動作しますが、私ははいオプションをクリックしても私はメッセージに応答してはいけない場合でも、それはPCをシャットダウンしません。
Rohit Panchal

私が今テストしたとき、私は同じことが本当であるとわかりました。 1、2分でスクリプトを更新します。
Klinghust

1
私はスクリプトを修正しました、あなたの助けをありがとう、問題はあなたがプログラムが私にそう言うならシャットダウンするように頼むとき私がウィンドウをシャットダウンする代わりにプログラムshutdown.cmdを呼ぶのであなたがshutdown.cmdによって保存することを提案したということでした。ありがとうございました。
Rohit Panchal
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.