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主机的更多相关文章

  1. [转帖]Ansible管理windows集群

    Ansible管理windows集群 http://www.cnblogs.com/Dev0ps/p/10026908.html 写的挺好的 我关注点还是不够好呢 最近公司新项目需要安装400+win ...

  2. [转帖]Ansible批量远程管理Windows主机(部署与配置)

    2018-09-12 12:04:42 https://blog.51cto.com/7424593/2174156 一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP ...

  3. Ansible批量远程管理Windows主机(部署与配置)

    一.测试环境介绍 Ansible管理主机: 系统:   CentOS6.8 IP Addr: 172.16.10.22 Linux管理服务器需安装pip.pywinrm插件 Windows客户端主机: ...

  4. 厉害—Ansible管理windows集群

    最近公司新项目需要安装400+windows server 2012系统的工作站,想着怎么能像linux下运用ansible批量管理,linux就很简单了有ssh服务 但是下却没这么简单,但还是有办法 ...

  5. ansible管理windows实践

    一.前言 近期打算搞搞自动部署,因为是windows服务器,一些工具和系统支持都不是太好.最后发现ansible比较火,最重要的是他支持windows.本文主要就ansible 在windows使用环 ...

  6. ansible管理windows (发送文件)

    https://github.com/ansible/ansible/raw/devel/examples/scripts/ConfigureRemotingForAnsible.ps1 环境: 服务 ...

  7. Ansible 管理Windows 受控端

       

  8. Ansible学习笔记(一):部署管理Windows机器遇到的一些坑

    在给国盛通上海测试环境做Ansible管理Windows服务器的时候,遇到了一些坑,Google解决掉了,特此记录,坑用红色标记. 一.环境说明 1.Ansible管理主机 操作系统:CentOS 7 ...

  9. 【ANSIBLE】ansible控制windows插件安装及运行error与解决方法

    一. 问:因pip版本问题无法安装kerberos 答:安装提示需要先安装pip升级包 下载pip9.0.1升级包: https://pypi.python.org/packages/b6/ac/70 ...

随机推荐

  1. 基于Kubernetes构建企业Jenkins master/slave CI/CD平台

    搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务 ...

  2. [源码解析] TensorFlow 分布式之 MirroredStrategy

    [源码解析] TensorFlow 分布式之 MirroredStrategy 目录 [源码解析] TensorFlow 分布式之 MirroredStrategy 1. 设计&思路 1.1 ...

  3. Redis为什么变慢了?透彻解读如何排查Redis性能问题

    Redis 作为优秀的内存数据库,其拥有非常高的性能,单个实例的 OPS 能够达到 10W 左右.但也正因此如此,当我们在使用 Redis 时,如果发现操作延迟变大的情况,就会与我们的预期不符. 你也 ...

  4. vue - vue基础/vue核心内容(终结篇)

    今天是vue基础.vue核心内容第三天,也是最后一天,后面开始进入组件化学习,整个基础内容以生命周期的结束而结束,不得不说,张天禹把这节课讲活了,开始觉得vue是一个有生命的东西,包括前面所说的很多脏 ...

  5. 如何使用Shell写一个显示目录结构的命令?

    公众号关注 「开源Linux」 回复「学习」,有我为您特别筛选的学习资料~ 在Linux中使用Shell写一个显示目录结构的命令,快速寻找目录结构. 1.代码 #!/usr/bin/env bash ...

  6. web框架的本质、MVC框架MTV框架的介绍

    1.web框架的本质 所有的Web应用本质上就是一个socket服务端,而用户的浏览器就是一个socket客户端,基于请求做出响应,客户都先请求,服务端做出对应的响应,按照http协议的请求协议发送请 ...

  7. 网络协议之:sctp流控制传输协议

    目录 简介 TCP有什么不好 sctp的特点 总结 简介 要讲网络协议,肯定离不开OSI(Open System Interconnection)的七层模型. 我们一般关注的是网络层之上的几层,比如I ...

  8. 机构:DARPA

    DARPA,美国国防部高级研究计划局. 2021年3月19日,英特尔(Intel)宣布与美国国防部高级研究计划局(DARPA)达成的一项新合作,旨在推动在美制造的专用集成电路(ASIC)芯片的开发. ...

  9. 我使用Spring AOP实现了用户操作日志功能

    我使用Spring AOP实现了用户操作日志功能 今天答辩完了,复盘了一下系统,发现还是有一些东西值得拿出来和大家分享一下. 需求分析 系统需要对用户的操作进行记录,方便未来溯源 首先想到的就是在每个 ...

  10. elasticsearch-spark的用法

    Hadoop允许Elasticsearch在Spark中以两种方式使用:通过自2.1以来的原生RDD支持,或者通过自2.0以来的Map/Reduce桥接器.从5.0版本开始,elasticsearch ...