Ansible 管理windows

简介: Ansible 管理windows

ansible怎么管理windows呢?左思右想了下,


管理机
ubuntu  18.04
10.1.1.50
实验机 windows 10
10.1.1.100

ubuntu安装ansible

apt-get install software-properties-common -yapt-add-repository --yes --update ppa:ansible/ansible -yapt-get install ansible -y

windows设置

要求:

Ansible支持的Windows版本通常与Microsoft当前和扩展支持下的版本相匹配。支持的桌面操作系统包括Windows 7,8.1和10,受支持的服务器操作系统包括Windows Server 2008,2008 R2,2012,2012 R2和2016。Ansible需要PowerShell 3.0或更高版本,并且至少要在Windows主机上安装.NET 4.0。应创建并激活**WinRM listener **。更多细节可以在下面找到。

检查powershell版本

640.png

注:使用ansible 要求版本不得低于4.0

若低于4.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服务器

win 配置winrm 启动powershell远程

1. 查看powershell执行策略get-executionpolicy
2. 更改powershell执行策略为remotesignedset-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"}'

640.png

640.png

win 防火墙配置

图片上会看到有个 port=5985  配置入站规则

640.png

一直下一步,然后起个名称,确定关闭。

ubuntu 操作

添加主机

编辑/etc/ansible/hosts,添加客户端主机信息(ansible服务端的配置)
vim /etc/ansible/hosts
[windows]
10.1.1.100 ansible_ssh_user="ajie" ansible_ssh_pass="123" ansible_ssh_port=5985 ansible_connection="winrm" ansible_winrm_server_cert_validation=ignore

判断是否ping通windows

ansible windows -m win_ping
[WARNING]: Unhandled error in Python interpreter discovery for host 10.1.1.100: winrm or requests is not installed: No module named requests
10.1.1.100 | FAILED! => {
    "msg": "winrm or requests is not installed: No module named requests"
}

ok 看看报错内容  它说winrm 这个模块没安装,找不到  办它

apt install python-pip -y
pip install pywinrm

在ping一波

640.png

创建目录

ansible windows -m win_file -a 'path=C:\\Users\\ajie\\Desktop\\ansible state=directory'


拷贝文件

ansible windows -m win_copy -a "src=/etc/passwd dest=C:\\passwd.txt"

删除文件

ansible windows -m win_file -a "dest=C:\\passwd.txt state=absent"

删除目录

ansible windows -m win_file -a 'dest=C:\\Users\\ajie\\Desktop\\ansible state=absent'

执行cmd命令

# 查看ip
ansible windows  -m win_shell -a 'ipconfig'
# 查看系统版本
ansible windows  -m win_shell -a 'systeminfo'
# 创建文件夹
ansible windows  -m win_shell -a 'md C:\ajie'
# 查看用户
ansible windows  -m win_shell -a 'net user'
还有很多,我就不一一列举了
相关文章
|
7月前
|
网络协议 数据安全/隐私保护 Windows
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
Windows Server 各版本搭建域控制器实现通过域管理用户(03~19)
|
7月前
|
存储 缓存 数据安全/隐私保护
Windows 命令提示符(CMD)操作(二):系统信息和管理
Windows 命令提示符(CMD)操作(二):系统信息和管理
|
7月前
|
存储 SQL 关系型数据库
Windows server 2016——SQL server 数据库和表的管理
Windows server 2016——SQL server 数据库和表的管理
186 0
|
5月前
|
Windows 内存技术
nvm 管理和切换 node版本(windows操作系统)
nvm 管理和切换 node版本(windows操作系统)
92 0
|
消息中间件 数据安全/隐私保护 Windows
windows下RabbitMQ安装后,无法进入web管理页面问题
windows下RabbitMQ安装后,无法进入web管理页面问题
931 1
|
6月前
|
应用服务中间件 nginx Windows
windows系统bat批处理 管理nginx启动 nginx脚本管理bat脚本管理生命周期windows一键nginx启动
windows系统bat批处理 管理nginx启动 nginx脚本管理bat脚本管理生命周期windows一键nginx启动
145 0
|
7月前
|
数据安全/隐私保护 Windows
Windows 用户和组的管理
Windows 用户和组的管理
|
7月前
|
网络协议 安全 测试技术
Windows安装禅道系统结合Cpolar实现公网访问内网BUG管理服务
Windows安装禅道系统结合Cpolar实现公网访问内网BUG管理服务
|
7月前
|
Windows
Windows 命令提示符(CMD)操作(一):文件和目录管理
Windows 命令提示符(CMD)操作(一):文件和目录管理
|
消息中间件 数据安全/隐私保护 Windows
windows下RabbitMQ安装后,无法进入web管理页面问题
windows下RabbitMQ安装后,无法进入web管理页面问题
234 0