操作场景
当您需要对多台Windows系统的云主机批量更新一键式重置密码插件时,可参考本文档操作。
前提条件
- 登录已准备好的执行机,执行机需满足的条件请参见下文约束与限制。
- 需要提前准备待批量安装插件的云主机的IP地址、Administrator用户的密码信息。
- 执行机应该与待更新机器在同一VPC下。
- 在执行完步骤7之后可以解绑eip。
约束与限制
需要选取一台操作系统为CentOS 8.2(公共镜像)且已绑定弹性公网IP的云主机作为执行机,且与待批量安装插件的弹性云主机之间网络需要互通。
说明若已配置yum内部源,可不需要绑定弹性公网IP
操作步骤
1.执行以下命令,安装批量脚本运行所需要的依赖。
yum install epel-release -y
yum install ansible -y
python3.6 -m pip install pywinrm paramiko PyYAML Jinja2 httplib2 six
说明
如果因为yum源配置问题导致无法安装ansible,可以使用如下命令安装ansible:
yum install python3 python3-pip
pip3 install --upgrade pip
pip3 install ansible
若出现如下图所示报错信息,请执行以下操作。
执行以下命令,安装依赖:
dnf install python3-devel
然后再次执行以下命令:
python3.6 -m pip install pywinrm paramiko PyYAML Jinja2 httplib2 six
图 报错信息
2.请参考获取并校验一键式重置密码插件完整性(Windows),下载对应的一键式重置密码插件CloudResetPwdAgent.zip并完成完整性校验。
安装一键式重置密码插件对插件的具体放置目录无特殊要求,请您自定义。
3.执行以下命令,将对应OS架构的Windows版本的安装包下载到root目录下:
- 32位操作系统,x86架构:
wget https://www.7-zip.org/a/7z2107.exe '--no-check-certificate'
- 64位操作系统,x86架构:
wget https://www.7-zip.org/a/7z2107-x64.exe '--no-check-certificate'
4.执行以下命令,将批量操作脚本下载到root目录下。
curl URL > ~/batch_update_log4j_version_for_windows.py
其中,URL为批量操作的执行脚本。
选择脚本下载地址:
https://pwd.obs.cn-jssz1.ctyun.cn/windows/batch_update_resetpwd/batch_update_log4j_version_for_windows.py
5.执行以下命令,将更新插件脚本下载到root目录下。
curl URL > ~/update_log4j_version_for_resetpwdagent_windows.bat
其中,URL为更新插件脚本的下载地址。
脚本下载地址:
https://pwd.obs.cn-jssz1.ctyun.cn/windows/batch_update_resetpwd/update_log4j_version_for_resetpwdagent_windows.bat
6.检查如下文件是否在root目录下。
- batch_update_log4j_version_for_windows.py
- update_log4j_version_for_resetpwdagent_windows.bat
- CloudResetPwdAgent.zip
- 7z*.exe
7.执行以下命令,新建并编辑host_list.txt,按i进入编辑模式。
vi host_list.txt
将需要自动安装驱动的云主机的相关信息填写到host_list.txt文件中。
填写Administrator用户的IP和密码,请严格按照每行“IP,用户密码”的格式填写,中间以英文逗号隔开。
示例:
192.168.1.10,'**********'
192.168.1.11,'**********'
8.运行批量执行操作脚本“batch_update_log4j_version_for_windows.py”。
python3.6 batch_update_log4j_version_for_windows.py
图 运行脚本
9.执行如下命令,在“/root/logs/exec_origin.log”的最后一行查看运行结果日志。
vim /root/logs/exec_origin.log
若如下图所示,则表示运行成功。
图 运行成功