2018-09-12 12:04:42

https://blog.51cto.com/7424593/2174156

一、测试环境介绍

Ansible管理主机:

系统:   CentOS6.8

IP Addr: 172.16.10.22

Linux管理服务器需安装pip、pywinrm插件

Windows客户端主机:

系统:   Server2008R2 SP1

IP Addr: 172.16.10.23

Windows机器需要安装或升级powershell4.0以上版本,Server2008R2默认的版本是2.0,因此必须升级至4.0版本。对于Server2012及以上的版本默认是4.0版本,不需要升级。

(经测试安装powershell3.0版本并不能正常支持Ansible,因此选择升级至4.0版本)

注意:升级powershell需要重新服务器才能生效。

二、Windows Server 2008R2客户端升级至powershell4.0

配置winrm之前检查系统版本,以及powershell版本,如果是Server2008R2版本,则需要升级powershell至4.0版本。Server2012R2以上的版本不需要升级powershell

升级powershell4.0步骤:

1.检查powershell版本

未升级前显示的是2.0版本

2.下载并安装Microsoft .NET Framework 4.5

下载地址:

https://download.microsoft.com/download/B/A/4/BA4A7E71-2906-4B2D-A0E1-80CF16844F5F/dotNetFx45_Full_setup.exe

3.下载并安装powershell4.0(Windows Management Framework 4.0 )

下载地址:

https://download.microsoft.com/download/3/D/6/3D61D262-8549-4769-A660-230B67E15B25/Windows6.1-KB2819745-x64-MultiPkg.msu

注意: 先安装.NET Framework 4.5 ,然后安装powershell4.0,安装完成之后重启windows服务器

4.升级完powershell4.0后检查

查看powershell版本

打开运行--->输入powershell启动powershell

在powershell终端上执行get-host命令可以查看powershell版本

三、Windows客户端配置winrm,启用powershell远程管理

打开powershell终端,按以下步骤执行命令(正常情况不会报错,如果有报错,请检查输入的命令是否正确,或者手动输入命令进行配置)

1.查看powershell执行策略

get-executionpolicy

2.更改powershell执行策略为remotesigned

set-executionpolicy remotesigned

3.配置winrm service并启动服务

winrm quickconfig

4.查看winrm service启动监听状态

winrm enumerate winrm/config/listener

5.修改winrm配置,启用远程连接认证

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

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

四、Windows客户端防火墙配置

通过命令winrm enumerate winrm/config/listener检查winrm服务正确启动之后

添加防火墙信任规则,允许5985端口通过

打开防火墙高级配置,选择入站规则,在点击新建规则

填写信任端口5985

填写新建规则名称

五、Ansible服务端配置和测试管理Windows服务器(服务端操作)

1.添加windows客户端连接信息

编辑/etc/ansible/hosts,添加客户端主机信息(ansible服务端的配置)

[windows]

172.16.10.23 ansible_ssh_user="Administrator" ansible_ssh_pass="zteict123" ansible_ssh_port=5985 ansible_connection="winrm" ansible_winrm_server_cert_validation=ignore

2.测试ping探测windows客户主机是否存活

执行命令

# ansible 172.16.10.23 -m win_ping

3. 测试文件管理

测试在windows主机执行远程创建目录

# ansible 172.16.10.23 -m win_file -a 'dest=c:\config_dir state=directory'

测试将ansible主机上的/etc/hosts文件同步到windows主机的指定目录下

# ansible 172.16.10.23 -m win_copy -a 'src=/etc/hosts dest=c:\config_dir\hosts.txt'

删除文件

# ansible 172.16.10.23 -m win_file -a 'dest=c:\config_dir\hosts.txt state=absent'

删除目录

# ansible 172.16.10.23 -m win_file -a 'dest=c:\config_dir2 state=absent'

3.测试远程执行cmd命令

# ansible 172.16.10.23 -m win_shell -a 'ipconfig'

4.远程重启windows服务器

# ansible 172.16.10.23 -m win_reboot

# ansible 172.16.10.23 -m win_shell -a 'shutdown -r -t 0'

5. 测试创建用户(远程在windows客户端上创建用户)

# ansible 172.16.10.23 -m win_user -a "name=testuser1 passwd=123456"

6. Windows服务管理

Ansible命令格式:

ansible [远程主机IP地址] -m win_shell -a “net stop|start 服务名”

示例:启动与停止Windows服务器的Spooler服务

此外,Ansible还可以远程管理Windows的IIS服务、Apache等Web服务,利用Ansible实现批量更新Web应用,如代码发布、版本更新等。

[转帖]Ansible批量远程管理Windows主机(部署与配置)的更多相关文章

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

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

  2. Ansible批量自动化管理工具(二)

    Ansible批量自动化管理工具(二) 链接:https://pan.baidu.com/s/1A3Iq3gGkGS27L_Gt37_I0g 提取码:ncy2 复制这段内容后打开百度网盘手机App,操 ...

  3. Cacti监控Windows主机,Windows主机的正确配置

    使用cacti监控Windows主机的时候经常遇到无法获取Windows主机的snmp信息和Windows主机的硬件信息,主要原因是Windows主机没有正确配置snmp,以下是正确的配置步骤:1.安 ...

  4. ansible管理windows主机

    1. 在windows开启winrm winrm service 默认都是未启用的状态,先查看状态:如无返回信息,则是没有启动: winrm enumerate winrm/config/listen ...

  5. Windows 上的 SSH?使用 PowerShell Remoting 远程管理 Windows 服务器

    作者:陈计节 个人博客:https://blog.jijiechen.com/post/powershell-remoting/ 在 Linux/Unix 世界里 SSH 是个好东西,SSH 是 Se ...

  6. Ansible批量自动化管理工具

    一,工具与环境介绍 1.1 ansible简介 批量管理服务器的工具 无需部署agent,通过ssh进行管理 流行的自动化运维工具:https://github.com/ansible/ansible ...

  7. Ansible批量自动化管理工具 roles标准化

    批量管理服务器的工具,无需部署代理,通过ssh进行管理,是python写的 ansible 常用模块 : (1)shell命令模块执行命令 (2)copy模块批量下发文件或文件夹 (3)script模 ...

  8. Windows 8.1 IIS 8.5 远程管理 Windows 2008 R2 IIS 7.0

    案例: Windows 8.1 x64 IIS 8.5 inetmgr_amd64_v1.1_en-US.msi Windows 2008 R2  x64 IIS  7.0 在Win8.1 通过IIS ...

  9. putty怎么用?如何使用Putty远程管理Linux主机

    Putty是一个免费的Windows 32平台下用于telnet.rlogin和ssh客户端的远程客户端工具,可以通过PUTTY快速的实现SSH连接linux等主机,下面小编就给大家演示一下如何使用P ...

随机推荐

  1. Java开发笔记(六十八)从泛型方法探究泛型的起源

    前面介绍各种容器之时,通过在容器名称后面添加包裹数据类型的一对尖括号,表示该容器存放的是哪种类型的元素.这样一来总算把Java当中的各类括号都凑齐了,例如包裹一段代码的花括号.指定数组元素下标的方括号 ...

  2. 纯CSS修改checkbox复选框样式-02

    我有用过这个纯修改input属性的 本人修改后的代码和效果图(修的不好), 这个是改动最简单的: css代码 input[type=checkbox]{ visibility: hidden; } i ...

  3. 快速傅里叶变换(FFT)详解

    本文只讨论FFT在信息学奥赛中的应用 文中内容均为个人理解,如有错误请指出,不胜感激 前言 先解释几个比较容易混淆的缩写吧 DFT:离散傅里叶变换—>$O(n^2)$计算多项式乘法 FFT:快速 ...

  4. OpenUDID 和 IDFA 比较

    iOS标识符 现今来比较下,不同情况下两种标识符的变化情况.以下试验,每种标识符均分为存于Keychain和未存于Keychain的两种情况做比较. 广告标识符(IDFA-identifierForI ...

  5. 【Linux】阿里云ECS提示RHSA-2017:3263: curl security update(CentOS 7 更新 curl 为最新版本)

    1.前言 由于 CentOS 7 内置的 curl 和 libcurl 源为较旧的 7.29.0,不支持一些新特性且有安全性问题,所以需要更新一下. 2.开始 1.更新ca-bundle · 首先备份 ...

  6. Linux中 SonarQube代码质量管理平台以及C++插件安装

    SonarQube是管理代码质量一个开源平台,可以快速的定位代码中潜在的或者明显的错误. SonarQube安装 1.环境准备 (1)sonarQube 下载地址https://www.sonarqu ...

  7. Redis(十一):Redis的事务功能详解

    相关命令 1. MULTI 用于标记事务块的开始.Redis会将后续的命令逐个放入队列中,然后才能使用EXEC命令原子化地执行这个命令序列. 这个命令的运行格式如下所示: MULTI 这个命令的返回值 ...

  8. LivePhoto开发,你要知道的知识点

    前言 Apple从iPhone6s开始支持Live Photo.Live Photo 会录下拍照前后 1.5 秒所发生的一切,因此用户获得的不仅仅是一张精美照片,还有拍照前后时刻的动作和声音.具体的操 ...

  9. 容易被误读的IOSTAT

    iostat(1)是在Linux系统上查看I/O性能最基本的工具,然而对于那些熟悉其它UNIX系统的人来说它是很容易被误读的.比如在HP-UX上 avserv(相当于Linux上的 svctm)是最重 ...

  10. slice()和splice()区别

    1.slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素. 注意:该方法不会改变原数组,而是返回一个子数组,如果想删除 ...