使用ansible批量修改操作系统管理员账号密码

一、ansible server端配置

1、对于Linux主机配置免密登录ssh-copy-id -i ~/.ssh/id_rsa.pub root@remote_ip

2、在/etc/ansible/hosts文件中添加相应主机IP

3、对于Windows主机需要在/etc/ansible/hosts文件中进行以下配置

复制代码
192.168.83.132 ansible_ssh_user=administrator ansible_ssh_pass=2008.Com ansibe_port=5985 ansible_connection="winrm" ansible_winrm_server_cert_validation=ignore ansible_winrm_transport=ntlm

二、Windows客户端配置

1、确保.NET 4.0+和powershell 3.0+

Microsoft .NET Framework 4.5下载地址:https://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe

更新PowerShell 2.0到3.0的脚本:https://github.com/ansible/ansible/blob/devel/examples/scripts/upgrade_to_ps3.ps1

2、查看并设置powershell执行策略为remotesigned:

3、查看powershell版本号,如果低于3.0请执行upgrade_to_ps3.ps1

4、执行ConfigureRemotingForAnsible.ps1(下载地址:https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

5、防火墙开启5985、5986端口或者关闭防火墙

三、在ansible server执行修改管理密码的操作

1、修改Linux:

2、修改Windows:

四、脚本展示:

bash 复制代码
#pwd-linux.yml
---
- hosts: linux
  gather_facts: false
  tasks:
  - name: change password for root
user: name=root password={{ chpass | password_hash('sha512') }} update_password=always
bash 复制代码
#change-win-pwd.sh
#!/bin/bash
read -p "please input old password: " password1
read -p "please input new password: " password2
read -p "Retype new password: " password3

if [ $password2 = $password3 ]; then
    echo "net users administrator \"$password3\"" > pwd.bat
    ansible-playbook pwd-win.yml
    sed -i "s/$password1/$password3/g" /etc/ansible/hosts
    ansible-playbook file-win.yml
else
    echo "try again"
fi
bash 复制代码
#pwd-win.yml
---
- hosts: win
  tasks:
  - name: copy file
    win_copy: src=/root/pwd.bat dest=C:\\pwd.bat
  - name: change password
win_shell: C:\pwd.bat
bash 复制代码
#file-win.yml
---
- hosts: win
  tasks:
  - name: delete file
    win_shell: "del C:\\pwd.bat"
相关推荐
悠悠121388 小时前
Jenkins + Ansible 集成实战:把配置管理焊进流水线里
运维·ansible·jenkins
JiaWen技术圈9 小时前
IaC 双引擎:Terraform + Ansible 完整最佳实践
云原生·ansible·terraform
虎头金猫1 天前
管理飞牛OS还在点点点?我用Ansible给它装了个远程遥控器
微信·开源·ansible·aigc·智能家居·开源软件·ai编程
汪汪大队u1 天前
基于 K8s 的物联网平台运维体系:Ansible+Zabbix 自动化监控与故障自愈(三)—— Zabbix Server 启动排错记
运维·kubernetes·ansible
淼淼爱喝水1 天前
Ansible 变量管理实验
ansible·自动化运维
终端行者2 天前
Jenkins Pipeline 企业级用法 参数化构建+Ansible发布---上
docker·ansible·jenkins·cicd
淼淼爱喝水3 天前
【Ansible 入门实战】三种变量详解
java·linux·数据库·ansible·playbook
http阿拉丁神猫4 天前
ansible脚本解读
服务器·ansible·apache
汪汪大队u6 天前
基于 K8s 的物联网平台运维体系:Ansible+Zabbix 自动化监控与故障自愈(一)—— 环境准备与 Zabbix Server 部署
运维·kubernetes·自动化·ansible·zabbix
IT大白鼠9 天前
Ansible vs 运维智能体:自动化工具的优劣对比与适用场景分析
运维·自动化·ansible