2019年11月8日 星期五

電腦教室遠端關機測試 Net + Shutdown、PsShutdown

系統:Windows 10
假設要遠端關機的電腦:
IP:192.168.50.1
帳號:admin (系統管理員)
密碼:123456
  1. Net + Shutdown 
    1. 事前準備:遠端電腦開防火牆「檔案及印表機共用」,參閱下面網址第一步驟:
      https://pejslin.blogspot.com/2019/11/pstools-windows-10.html
    2. 基本語法:
      net use \\192.168.50.1 /user:admin 123456
      shutdown -m \\192.168.50.1 -s -f -t 0
    3. 寫成批次檔,指定單機關機電腦 IP 尾碼:
      --- 關機指定單機NetShutdown.bat ---
      @echo off
      :start
      cls
      echo ##### NET Shutdown #####
      echo 請輸入要關閉的電腦編號
      echo 一次輸入一個編號
      echo 輸入完成按 Enter
      echo 輸入 0 結束本程式
      echo ########################
      set select=0
      set /P select=選擇要執行的電腦編號:

      if %select%==0 (
      goto end
      )

      net use \\192.168.50.%select% /user:admin 123456
      shutdown -m \\192.168.50.%select% -s -f -t 0
      goto start

      :end
    4. 全班一起關機:因需要先用 Net 登入,再用 Shutdown 關機,分成 2 個批次檔來執行。
      1. 個別關機程式
        --- NetShutdown.bat ---
        @echo off
        rem 配合「關機全部NetShutdown」使用
        net use \\192.168.50.%1 /user:admin 123456
        shutdown -m \\192.168.50.%1 -s -f -t 0
        exit
      2. 啟動所有電腦關機
        --- 關機全部NetShutdown.bat ---
        @echo off
        start /min NetShutdown.bat 11
        start /min NetShutdown.bat 12
        start /min NetShutdown.bat 13
        ...
      3. 配合前面的 NetShutdown.bat 指定關機可改寫成
        @echo off
        :start
        cls
        echo ##### NET Shutdown #####
        echo 請輸入要關閉的電腦編號
        echo 一次輸入一個編號
        echo 輸入完成按 Enter
        echo 輸入 0 結束本程式
        echo ########################

        set select=0
        set /P select=選擇要執行的電腦編號:

        if %select%==0 (
        goto end
        )

        start /min NetShutdown.bat %select%

        goto start

        :end
  2. PsShutdown
    1. 事前準備:
      https://pejslin.blogspot.com/2019/11/pstools-windows-10.html
    2. 基本語法:
      psshutdown -f \\192.168.50.1 -u admin -p 123456 -t 0
    3. 寫成批次檔,指定單機關機電腦 IP 尾碼:
      --- 關機指定單機PsShutdown.bat ---
      @echo off
      :start
      cls
      echo ##### PsShutdown #####
      echo 請輸入要關閉的電腦編號
      echo 一次輸入一個編號
      echo 輸入完成按 Enter
      echo 輸入 0 結束本程式
      echo ######################
      set select=0
      set /P select=選擇要執行的電腦編號:

      if %select%==0 (
      goto end
      )

      start /min psshutdown -f \\192.168.50.%select% -u admin -p 123456 -t 0
      goto start

      :end
    4. 全班一起關機:
      --- 關機全部PsShutdown.bat ---
      start /min psshutdown -f \\192.168.50.11 -u admin -p 123456 -t 0
      start /min psshutdown -f \\192.168.50.12 -u admin -p 123456 -t 0
      start /min psshutdown -f \\192.168.50.13 -u admin -p 123456 -t 0
      ...
  3. 比較:
    1. Net + Shutdown 是內建程式,不須另外複製或安裝。
    2. Net + Shutdown 只要開啟防火牆,設定較簡單。
    3. Net + Shutdown 執行速度快很多。
    4. PsShutdown 只要一行,寫法較容易。
    5. 最後決定用 Net + Shutdown 強制關機。
  4. 其他:
    1. 用 start /min 的優點是不用等前一台指令結束,但缺點是會開很多 cmd 視窗。

      不過只要按右鍵就可以同時關掉。
    2. 其實 NetShutdown.bat 加個 exit 就不用前面手動關命令視窗的步驟。
    3. 指定單機關機改寫成 start /min NetShutdown.bat %select% 可以減少不小心指定到已關機電腦的等待回應時間。

沒有留言:

張貼留言