Ansible Windows

17 Mar 2025 | 阅读 2 分钟

使用 Ansible 管理 Windows 时,适用于 Unix/Linux 主机的许多语法和规则也适用于 Windows。 但是,在路径分隔符和特定于操作系统的任务等组件方面存在一些差异。 本文档介绍使用 Ansible for Windows 的具体细节。

它是如何工作的

默认情况下,Ansible 使用 SSH 管理 Linux/Unix 机器。

从 1.7 版本开始,Ansible 包含对管理 Windows 机器的支持。 这使用原生的 PowerShell 远程处理,而不是 SSH。

Ansible Windows

Ansible 仍然会从 Linux 控制机器运行,并使用 "winrm" Python 模块与远程主机通信。 虽然 Microsoft 或 Ansible 不支持,但此 Linux 控制机器可以是 Windows Subsystem for Linux (WSL) bash shell。

无需在远程计算机上安装其他软件,Ansible 即可管理它们,并且它仍然保持了无代理的特性,使其在 Linux/Unix 上广受欢迎。

请注意,重要的是您对 Ansible 有基本的了解,因此如果您还没有编写过 Linux playbook,可能会觉得很困难。

Linux 像 Linux,Windows 像 Windows

用户更喜欢 Ansible,因为它是一个简单、无代理、功能强大的自动化工具,允许他们跨其 IT 基础设施建模和交付任何配置、部署和环境。

Ansible 知道关键是将相同的简单、无代理范例引入到 Windows 管理中,同时仍然让 Windows 管理员感觉是原生的。 Ansible 原生 Windows 支持使用 Windows PowerShell 远程处理来管理 Windows,就像 Ansible 以无代理的方式管理 Linux 一样。

使用 Ansible 的原生 Windows 支持

  • 收集 Windows 主机上的 facts
  • 安装和卸载 MSI
  • 启用和禁用 Windows 功能
  • 启动、停止和管理 Windows 服务
  • 创建和管理本地用户和组
  • 通过 chocolatey 包管理器管理 Windows 包
  • 管理和安装 Windows 更新
  • 从远程站点获取文件
  • 推送和执行您编写的任何 PowerShell 脚本

您可以使用本地或域用户连接和自动化 Windows,并且您将能够使用 Windows 的 'runas' 支持以管理员身份执行操作,就像 Linux 上的 'sudo' 或 'su' 一样。

您可以使用 Ansible 的简单可扩展性,用 PowerShell 编写您的模块。 并且可以扩展 Ansible 以满足您需要的任何其他功能。 Ansible 用户已经编写了用于管理文件系统 ACL、管理 Windows 防火墙、管理主机名、域成员资格等的模块。


下一主题Ansible Yum