一,ansible配置
1、简介
Ansible 从1.7+版本开始支持Windows,但管理机必须为Linux系统,远程主机的通信方式也由Linux下的SSH变为PowerShell,管理机需要安装Python的pywinrm模块,但PowerShell需3.0+版本且Management Framework 3.0+版本,实测Windows 7 SP1和Windows Server 2008 R2及以上版本系统经简单配置可正常与Ansible通信。2、环境准备以下配置在CentOS7.4_x64下安装pip及相关依赖下载pip#wget #python get-pip.py安装依赖#pip install pywinrm paramiko PyYAML Jinja2 httplib2 six |
---|
3、安装ansible
#yum -y install ansible |
---|
4,配置ansible文件
#vim /etc/ansible/hosts [win7] 172.16.70.80 ansible_ssh_user="administrator" ansible_ssh_pass="root" ansible_ssh_port=5985 ansible_connection="winrm" |
---|
注意上信息在一行;以空格隔开,[win7] 是这台主机的标题;下面的是ip和连接信息等;
二、被管理端win7配置
1、环境简介
和Linux稍有区别,被管理端系统如果是Windows系列时;需预先有以下配置:安装Framework 3.0+ (有可能需要下载)配置powershell策略为remotesigned (需要修改)升级PowerShell至3.0+(win7默认是2.0)设置Windows远端管理,英文全称WS-Management(WinRM)2、环境配置
a、升级或安装Framework 4.5如果Framework版不满足请至微软b、修改powershell策略为remotesigned 打开powershell终端PS C:\Users\Administrator>set-executionpolicy remotesigned
查看powershell
PS C:\Users\Administrator>get-executionpolicy
设置Windows远端管理(WS-Management,WinRM)服务
winrm 服务默认都是未启用的状态;注意以下操作在cmd中执行,而非powershell中对winrm服务进行基础配置:C:\Users\Administrator>winrm quickconfig
C:\Users\Administrator>winrm e winrm/config/listener
C:\Users\Administrator>winrm set winrm/config/service/auth @{Basic="true"}
C:\Users\Administrator>winrm set winrm/config/service @{AllowUnencrypted="true"}
在ansible服务器上ping远程windows服务器
#ansible win7 -m win_ping
可以用ansible-playbook添加用户,将用户加入到对应的组里
#vim adduser.yml
- name: Add a group and user hosts: all gather_facts: false tasks: - name: Add User win_user: name: ops password: "A123456" state: present groups: - "Remote Desktop Users" - Users |
---|
执行playbook文件,登陆服务器查看用户状态
#ansible-playbook adduser.yml