Ansible 管理windwos服务器(一)-阿里云开发者社区

开发者社区> 孙颖欣> 正文

Ansible 管理windwos服务器(一)

简介: 不废话了,开始吧 Ansible管理Windwos需要在windows上执行Powershell脚本,并且Powershell脚本还有版本要求有必要条件:必要条件: (1) 必须开启以及配置Powershellhttps://github.
+关注继续查看

不废话了,开始吧

Ansible管理Windwos需要在windows上执行Powershell脚本,并且Powershell脚本还有版本要求有必要条件:
必要条件:
(1) 必须开启以及配置Powershell
https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1
(2)Powershell版本必须3.0 or higer
如果您的系统是window7或者Windows Server 2008,那么PowerShell 2.0已经内置了,可以升级为3.0,4.0
如果您的系统是Windows 8 或者Windows server 2012,那么PowerShell 3.0已经内置了,可以升级为4.0
如果您的系统为Windows 8.1或者Windows server 2012 R2,那默认已经是4.0了。

查看Powershell版本,powershell 界面下输入 $psversiontabl
  • Ansible控制机配置
    在Ansible控制机上执行下面指令安装pywinrm模块 pip install "pywinrm>=0.1.1" 我这里已经安装过,版本是0.2.2

[图片上传失败...(image-93b72f-1534605118005)]

  • 被管windows主机配置

开启以及配置Powershell

Ansible 官方提供初始化脚本

https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

脚本主要完成如下操作:

  1. 检查最后安装证书的指纹
  2. 配置错误处理
  3. 检测Power shell版本
  4. 检查/启动WimRM服务
  5. 确保WinRM运行之后,检查有PS会话配置
  6. 确保有SSL监听
  7. 检查基本鉴权
  8. 配置防火墙允许WinRM HTTPS链接
  9. 本地测试通过网络方式连接是否正常

注意:如果提示系统中禁止执行脚本,可以在Powershell 命令行界面输入 set-ExecutionPolicy RemoteSigned 然后输入Y,在执行脚本就不会报。

在计算机上运行winrm服务

powershell 3.0中执行

winrm qc

开启后,需要查看配置是否已经开启

3.3 主要是下图Auth中Basic设置为true,service中AllowUnencrypted设置为true

> winrm set winrm/config/service '@{AllowUnencrypted="true"}'
> winrm set winrm/config/service/auth '@{Basic="true"}'

配置ansible控制机

配置方法有两种:

第一种:

在/etc/ansible/hosts中

[windows]
192.168.1.11
[windows:vars]
ansible_ssh_user="Administrator"
ansible_ssh_pass="123456"
ansible_ssh_port=5986
ansible_connection="winrm"
$ ansible windows -m win_ping
192.168.1.11 | SUCCESS => {
    "changed": false, 
    "ping": "pong"
}

第二种

在/etc/ansible/hosts中

[windows]
192.168.1.11 ansible_ssh_user="Administrator" ansible_ssh_pass="123456" ansible_ssh_port=5986 ansible_connection="winrm"

要注意的是 端口方面ssl即https方式的使用5986,http使用5985。

区别于控制Linux主机,win主机的命令,需要加上win_,具体支持情况请见官网

http://docs.ansible.com/ansible/list_of_windows_modules.html


****简单测试****

执行cmd命令

重启的第一种方式

$ ansible windows -m win_shell -a "shutdown -r -t 1"

第二种方式,不加参数等同于第一种方式

$ ansible windows -m win_reboot

未完待续!!!!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Win7以管理员方式运行cmd.exe
  以管理员(Administrator)方式运行C:\Windows\System32\cmd.exe  
496 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12061 0
win7以管理员身份运行程序
Win7系统如何何使用管理员权限启动cmd或者其他程序呢? 答案 (1)、想必大家都知道,邮件以管理员身份运行。 (2)、在 开始菜单的搜索框里输入cmd或者你要运行的程序名称,然后按下快捷键ctrl + shift + enter 即可使用管理员权限启动程序。
594 0
+关注
29
文章
62
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载