ansible操作通过winrm协议windows,经过实践精简以下方法能快速配置,并能通过测试
更多文档参考:
系统版本win10
以管理员权限运行Poweshell执行如下命令
# 允许执行Powershell脚本
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Force
# 开启winrm
winrm quickconfig -force
# 配置winrm允许CredSSP方式认证
Enable-WSManCredSSP -Role Server -Force
# 测试winrm连接是否正常
winrs -r:http://localhost:5985/wsman -u:用户名(域用户填写xxxx@yyyy完整的UserPrincipalName) -p:密码 ipconfig
结果如下
系统环境:
- ubuntu
- python3
# 安装ansible
python3 -m pip install --user ansible
# 安装pywinrm[credssp]认证模块
pip install pywinrm[credssp]
inventory.ini
[win]
172.25.1.9
[win:vars]
# ansible_user=用户名(域用户填写xxxx@yyyy完整的UserPrincipalName)
ansible_user=Administrator
ansible_password=123456
ansible_connection=winrm
ansible_winrm_transport=credssp
ansible_winrm_port=5985
# 执行命令
ansible -i inventory.ini win -m win_shell -a 'ipconfig'
结果如下:
整体文件目录
编写playbook文件
install-7z.yaml
- name: install 7z
hosts: win
tasks:
- name: '下载7z安装包'
ansible.windows.win_copy:
src: /ansible-tutorial/7z1900-x64.msi
dest: c:\7z1900-x64.msi
- name: '安装msi'
win_package:
path: c:\7z1900-x64.msi
state: present
执行命令,安装7z
# 安装7z
ansible-playbook -i inventory.ini install-7z.yaml