ansible管理windows主机
1. 在windows开启winrm
winrm service 默认都是未启用的状态,先查看状态;如无返回信息,则是没有启动;
winrm enumerate winrm/config/listener
针对winrm service 进行基础配置:
winrm quickconfig
查看winrm service listener:
winrm e winrm/config/listener
为winrm service 配置auth:
winrm set winrm/config/service/auth @{Basic="true"}
为winrm service 配置加密方式为允许非加密:
winrm set winrm/config/service @{AllowUnencrypted="true"}

2. Ansible 官方提供初始化脚本
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
安装winrm(ansible主机)
pip install "pywinrm>=0.1.1"
编译安装方式:https://pypi.org/project/pywinrm/#files
在windows主机powershell执行:.\Desktop\ConfigureRemotingForAnsible.ps1(上图)
wget http://download.baiyongjie.com/python/pip/pip-8.1.0.tar.gz
wget http://download.baiyongjie.com/python/pip/setuptools-33.1.1.zip
tar xzf pip-8.1.0.tar.gz && unzip setuptools-33.1.1.zip
yum install -y epel-release yum install -y python36
cd setuptools-33.1.1 && python3 setup.py install
cd pip-8.1.0 && python3 setup.py instll
pip3 install --upgrade pip
pip3.6 install pywinrm 或者pip安装ansible:pip install ansible或者pip3 install ansible
3. 将windows信息写入变量文件
cat group_vars/windows.yml
ansible_user: Administrator
ansible_ssh_pass: Mlxg2234
ansible_ssh_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
加密文件:ansible-vault encrypt group_vars/windows.yml
解密文件:ansible-vault decrypt group_vars/windows.yml
关闭windows server防火墙或者开放5986端口 4. 将windows主机写入hosts文件
[windows]
192.168.20.35 #ansible_ssh_user="Administrator" ---不写变量写入host也行
ansible_ssh_pass="Mlxg2234" ansible_ssh_port=5986
ansible_connection="winrm" ansible_winrm_server_cert_validation=ignore ansible_winrm_transport=ntlm
5. 执行命令测试
ansible -i hosts windows -m win_ping --ask-vault-pass(输入windows文件密码)
6. 测试文件
ansible -i hosts windows -m win_file -a 'dest=c:\ConfigureRemotingForAnsible.ps1 state=directory' --ask-vault-pass
ansible -i hosts windows -m win_copy -a 'src=/etc/hosts dest=c:\config_dir\hosts.txt' --ask-vault-pass 7. 删除文件/目录
ansible -i hosts windows -m win_file -a 'dest=c:\config_dir\hosts.txt state=absent' --ask-vault-pass
ansible -i hosts windows -m win_file -a 'dest=c:\config state=absent' --ask-vault-pass 8. 测试远程执行cmd命令
ansible -i hosts windows -m win_shell -a 'ipconfig' --ask-vault-pass 9. 远程重启windows服务器
ansible -i hosts windows -m win_reboot --ask-vault-pass --ask-vault-pass
ansible -i hosts windows -m win_shell -a 'shutdown -r -t 0' --ask-vault-pass 10. 测试创建用户(远程在windows客户端上创建用户)
ansible -i hosts windows -m win_user -a "name=test1 passwd=Mlxg2234" --ask-vault-pass
11. 安装iis服务
ansible -i hosts windows -m win_feature -a "name=Web-Server" --ask-vault-pass
ansible -i hosts windows -m win_feature -a "name=Web-Server,Web-Common-Http" --ask-vault-pass 12. 获取iis站点信息
ansible -i hosts -m win_iis_website -a "name='Default Web Site'" windows --ask-vault-pass 13. 停止启动IIS站点(started', 'restarted', 'stopped' or 'absent)
ansible -i hosts windows -m win_iis_website -a "name='Default Web Site' state=stopped" --ask-vault-pass
ansible -i hosts windows -m win_iis_website -a "name='Default Web Site' state=started" --ask-vault-pass 14. 添加站点
ansible -i hosts windows -m win_iis_website -a "name=acme physical_path=c:\site_test" --ask-vault-pass
15. 从网站下下载文件
ansible -i hosts -c winrm -m win_get_url -a "url=文件url dest='C:\site_test'" windows --ask-vault-pass
playbook下载
- hosts: windows
gather_facts: false
tasks:
- name: Download png
win_get_url:
url: 'url下载链接'
dest: 'C:\site_test'
force: no ---playbook方式发生变化时才下载


16. 管理Windows服务
- hosts: windows
gather_facts: false
tasks:
- name: DNS Client(Dnscache)
win_service:
name: Dnscache
start_mode: auto ----开机自启动
state: started
ansible管理windows主机的更多相关文章
- [转帖]Ansible管理windows集群
Ansible管理windows集群 http://www.cnblogs.com/Dev0ps/p/10026908.html 写的挺好的 我关注点还是不够好呢 最近公司新项目需要安装400+win ...
- [转帖]Ansible批量远程管理Windows主机(部署与配置)
2018-09-12 12:04:42 https://blog.51cto.com/7424593/2174156 一.测试环境介绍 Ansible管理主机: 系统: CentOS6.8 IP ...
- Ansible批量远程管理Windows主机(部署与配置)
一.测试环境介绍 Ansible管理主机: 系统: CentOS6.8 IP Addr: 172.16.10.22 Linux管理服务器需安装pip.pywinrm插件 Windows客户端主机: ...
- 厉害—Ansible管理windows集群
最近公司新项目需要安装400+windows server 2012系统的工作站,想着怎么能像linux下运用ansible批量管理,linux就很简单了有ssh服务 但是下却没这么简单,但还是有办法 ...
- ansible管理windows实践
一.前言 近期打算搞搞自动部署,因为是windows服务器,一些工具和系统支持都不是太好.最后发现ansible比较火,最重要的是他支持windows.本文主要就ansible 在windows使用环 ...
- ansible管理windows (发送文件)
https://github.com/ansible/ansible/raw/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 环境: 服务 ...
- Ansible 管理Windows 受控端
- Ansible学习笔记(一):部署管理Windows机器遇到的一些坑
在给国盛通上海测试环境做Ansible管理Windows服务器的时候,遇到了一些坑,Google解决掉了,特此记录,坑用红色标记. 一.环境说明 1.Ansible管理主机 操作系统:CentOS 7 ...
- 【ANSIBLE】ansible控制windows插件安装及运行error与解决方法
一. 问:因pip版本问题无法安装kerberos 答:安装提示需要先安装pip升级包 下载pip9.0.1升级包: https://pypi.python.org/packages/b6/ac/70 ...
随机推荐
- 1.Docker容器学习之新生入门必备基础知识
0x00 Docker 快速入门 1.基础介绍 描述:Docker [ˈdɑ:kə(r)] 是一个基于Go语言开发实现的遵循Apache 2.0协议开源项目,目标是实现轻量级的操作系统虚拟化解决方案: ...
- SVG 和 CSS3 实现一个超酷爱心 Like 按钮
在现代网页中,我们经常可以在一些文章.视频和图片页面上找到"Like"按钮,并且通过点击该按钮来表示自己对该内容的喜欢或者不喜欢.大部分"Like"按钮是纯文本 ...
- XGBoost文本分类,多分类、二分类、10-Fold(K-Fold)
做机器学习的时候经常用到XGB,简单记录一下 K折交叉验证也是模型常用的优化方法.一起记录... K折交叉验证:类似三个臭皮匠,顶个诸葛亮.我的理解是,就是用民主投票的方式,选取票数最高的那个当结果. ...
- python数据处理-matplotlib入门(4)-条形图和直方图
摘要:先介绍条形图直方图,然后用随机数生成一系列数据,保存到列表中,最后统计出相关随机数据的概率并展示 前述介绍了由点进行划线形成的拆线图和散点形成的曲线图,连点成线,主要用到了matplotlib中 ...
- 用ffmpeg对视频进行处理
下载安装配置教程:传送门 关键步骤Windows: 官网 合并音频和视频 with open('video/x111.mp4','wb') as f: f.write(data_30080) with ...
- [操作系统]LINUX进程状态说明
R(task_running) : 可执行状态 只有在该状态的进程才可能在CPU上运行.而同一时刻可能有多个进程 处于可执行状态,这些进程的task_struct结构(进程控制块)被放入对应CPU的 ...
- Django学习——Django测试环境搭建、单表查询关键字、神奇的双下划线查询(范围查询)、图书管理系统表设计、外键字段操作、跨表查询理论、基于对象的跨表查询、基于双下划线的跨表查询
Django测试环境搭建 ps: 1.pycharm连接数据库都需要提前下载对应的驱动 2.自带的sqlite3对日期格式数据不敏感 如果后续业务需要使用日期辅助筛选数据那么不推荐使用sqlite3 ...
- Linux下安装部署NodeJS完整步骤
关注「开源Linux」,选择"设为星标" 回复「学习」,有我为您特别筛选的学习资料~ NodeJS是一个开源,跨平台,轻量级的JavaScript运行时环境,可用于构建可扩展的网络 ...
- CentOS 并没有死,Rocky Linux 让其重生
点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 近日,CentOS 官方发文称CentOS Stream ...
- 简述Web3.0
什么是 Web 3.0 以及为什么要关心它. 为了更好地理解什么是 Web 3.0,我们需要知道什么是 Web 1.0 和 2.0. 为了不让你厌烦,这里简单的解释一下: Web 1.0 -- 信息仅 ...