如何在 Ansible 中判断远程主机是 Windows 还是 Linux?

问题描述

我知道 Ansible 在 Linux 上运行,但如果使用 WinRm 远程管理 Windows 系统。无论如何我可以判断(检测)远程主机是 Windows 而不是 Linux?

解决方法

是的,只需读取 ansible_system 变量。它将包含 Linux 系统上的“Linux”和 Windows 上的“Win32NT”。

您可以检查其他“事实”以获得更高的精度。您可以在 Ansible documentation

中看到这些示例