windows 脚本批量管理上千台服务器实战案例

ops/2024/12/12 10:52:36/

如果你们有接触服务器,都是知道服务器有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 的批处理文件后, 启动运行, 出现如下菜单: 

可以根据需要再增加更多实用的管理服务器功能. 欢迎补充 


http://www.ppmy.cn/ops/141228.html

相关文章

JWT报CORSFilter错误原因(以Java SpringBoot为例)

JWT 报 CorsFilter 原因,通常是因为跨域请求未通过浏览器的同源策略检查,而 CorsFilter 是用来处理跨域问题的过滤器。如果后端未正确配置 CORS 或 JWT 的传递方式不符合跨域要求,可能导致此类问题。 以下是具体原因及解决方法: …

Spring Boot读取配置文件的六种方案

从配置文件中获取属性应该是SpringBoot开发中最为常用的功能之一,但就是这么常用的功能,仍然有很多开发者在这个方面踩坑,以下是我整理的几种获取配置属性的方式。 一、Environment 使用 Environment 方式来获取配置属性值非常简单&#xf…

location规则和rewrite重定向

location匹配规则 在nginx当中,匹配的对象一般是uri来匹配 location匹配的分类: 多个location一旦匹配其中之一,就不在匹配其他的location 1、精确匹配 location / {…} :完全相同,一个字符错都匹配不到 2、正则匹配 location ~…

迭代器模式的理解和实践

引言 在软件开发中,我们经常需要遍历容器对象(如数组、列表、集合等)中的元素。如果每个容器对象都实现自己的遍历算法,那么代码将会变得冗余且难以维护。为了解决这个问题,迭代器模式应运而生。迭代器模式是一种行为型…

Linux之cpu性能分析(Analysis of CPU Performance in Linux)

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 本人主要分享计算机核心技…

亚马逊云科技re:Invent:生成式AI与全球布局

作为全球云计算和人工智能领域一年一度的顶级盛宴,亚马逊云科技2024 re:Invent全球大会吸引了超过6万名现场观众以及40多万名线上参会者。而大会上生成式AI的相关话题和内容,也成为了所有观众关注的焦点。 大会期间,亚马逊云科技全球服务副总…

【Python】【Conda 】Conda vs venv:Python开发者的虚拟环境选择指南

目录 引言一、概述1.1 Conda 虚拟环境1.2 Python venv 虚拟环境 二、安装与设置2.1 安装 Conda 虚拟环境2.2 安装 Python venv 虚拟环境 三、依赖管理3.1 Conda 依赖管理3.2 Python venv 依赖管理 四、适用场景五、性能与资源占用5.1 Conda 性能与资源占用5.2 Python venv 性能…

如何使用aws的bedrock训练适合自己的模型

使用 Amazon Bedrock 训练适合自己的模型是一个涉及多个步骤的过程,包括数据准备、模型选择、训练和部署。以下是九河云总结的详细的步骤指南,帮助您在 AWS Bedrock 上训练和部署自定义模型。 ### 1. **准备工作** 在开始训练模型之前,您需…