- 检查目标主机是否已经安装了PowerShell模块,如果没有则需要先安装:
- name: Install PowerShell module
win_package:
path: https://download.microsoft.com/download/2/3/A/23AD87A5-F5B9-4F6A-9DAD-1444B74EDED4/windowsserver2016-kb3170447-x64.msu
arguments: '/quiet'
product_id: KB3170447
- name: Import PowerShell module
win_shell: |
Import-Module -Name ServerManager
Add-WindowsFeature RSAT-AD-PowerShell
-
确认远程主机可以从对应的Ansible主机上访问,以及Firewall或其他网络设备是否正确配置。
-
确认脚本本身是正常执行的。最好可以先在目标机器上执行一下脚本,以确保其运行不会出现问题。
-
可以通过手动访问WinRM端口和/或尝试启用SSH连接来确认之前连接失败的原因。例如,在ansible.cfg文件中添加以下代码:
[defaults]
transport = winrm
remote_user = Administrator
winrm_server_cert_validation = ignore
- 如果以上解决方法都没有解决问题,可以考虑升级PowerShell版本,或者安装最新版本的Ansible并再次尝试。