如果你们有接触服务器,都是知道服务器有BMC管理界面的,这几天我在做项目中,需要不断的开关机服务器,如果一两台服务器登录BMC界面重启服务器还好,如果服务器数量非常的庞大,成百上千台,我们不可能一个一个网页登上去操作,这样就会非常耗费时间,一点都不现实。所以,这几天我通过windows bat 脚本语言编写一个简单的BMC 管理工具,使用脚本语言需要在同级目录下创建一个ip_list.txt的存放BMC带外管理IP地址文件。
@echo offRem 请做出你的选项echo 请做出选择。
echo.
echo 1 查看电源状态
echo 2 开机
echo 3 关机
echo 4 重启
echo 5 PXE启动
echo 6 BIOS启动
echo 7 从CD/DVD启动
echo 8 从磁盘启动Rem 等待用户输入set /p ChooseResult=请输入标识编号:【1/2/3/4/5/6/7/8】:
echo.
set /p User=请输入账号:
echo.
set /p Password=请输入密码:Rem 查看电源状态if %ChooseResult% == 1 (for /f "tokens=*" %%i in ('type ip_list.txt') do ( ipmitool -I lanplus -H %%i -U %User% -P %Password% power statusecho 设置成功)Rem 开机
)else if %ChooseResult% == 2 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% power onecho 设置成功)Rem 关机
)else if %ChooseResult% == 3 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% power offecho 设置成功)Rem 重启
)else if %ChooseResult% == 4 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% power resetecho 设置成功)Rem PXE 启动
)else if %ChooseResult% == 5 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% chassis bootdev pxeecho 设置成功)Rem BIOS 启动
)else if %ChooseResult% == 6 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% chassis bootdev biosecho 设置成功)Rem 光盘启动
)else if %ChooseResult% == 7 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% chassis bootdev cdromecho 设置成功)Rem 硬盘启动
)else if %ChooseResult% == 8 ( for /f "tokens=*" %%i in ('type ip_list.txt') do (ipmitool -I lanplus -H %%i -U %User% -P %Password% chassis bootdev diskecho 设置成功)
)pause
复制以上代码到文本文件里.另存为一个.bat 的批处理文件后, 启动运行, 出现如下菜单:
可以根据需要再增加更多实用的管理服务器功能. 欢迎补充