批处理实现windows终端批量关机、唤醒

因为工作原因,写的这个批处理,可以实现windows终端的批量远程开关机。

实现原理:

  • 远程关机:先将远端系统需以管理员身份运行Player Power.bat文件,此批处理可更改Administrator密码为123,并开启系统自动登陆,更改相应的本地安全设置。这样一来就具有权限可以远程关机,运行Power Off&On.bat选择第1项,会按IP-Mac.txt文件内的IP地址列表来逐个对其网络建立连接,并关机。
  • 网络唤醒:简称WOL,即Wake on LAN。只要配备了支持该技术的网卡和主板,你就可以通过网络远程启动桌面PC或服务器。同时需注意主板BIOS中启用了此功能;同时注意,由于发送的为帧包数据,所以必须在一个交换网络下执行。运行Power Off&On.bat选择第2项,其会按照IP-Mac.txt内的第二列Mac地址(以,为分隔符),逐个进行唤醒操作。

由于代码较多,就不全贴上来了,大家可以下载:  OnOff  。

:Off
Cls
Title Power Off                                                   __Create by Chris@25/12/2014
If not exist "%IPFile%" echo %IPFile% is not exist ,please check it & pause > nul & cls & Goto Main
Echo 将根据%IPFile%文件内的IP地址对远端计算机进行关机.
Echo 你必须保证对远程系统有足够的网络访问权限(可在其系统上运行Player Power.bat).
Call :CheckLog
For /f "tokens=1 delims=," %%f in (%IPFile%) do (set IP=%%f) & call :SG

Echo Operation is Done! & Pause > Nul
Exit

:SG
Call :CheckIPv4
If !Code! NEQ 0 goto :Eof
Net use \\!IP!\IPC$ %Pass% /user:%User% > nul 2>&1
If %ErrorLevel% NEQ 0 (
            echo Error2: !IP!无法连接到共享管道,请检查对端设置是否正常 >> %Log%
            Goto Go
            )
Shutdown /m \\!IP! /s /t 30
Net use \\!IP!\IPC$ /d /y > nul & Goto Next

《批处理实现windows终端批量关机、唤醒》有3条评论

发表评论

error: Content is protected !!