我在一个vCenter服务器中有一个实验室驻留者,该实验室包括5个windows服务器和3个windows 10,每次我针对这个实验室运行一个剧本(任何剧本)时,任务中都会出现一个错误:
[WARNING]: Error when collecting winrm facts: You cannot call a method on a null-valued expression. At line:15 char:17 + ...
$ansibleFacts.ansible_win_rm_certificate_expires = $_.Not ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo :
InvalidOperation: (:) [], RuntimeException + FullyQualifiedErrorId : InvokeMethodOnNull at , : line 15 at , : line
13我的all.yml文件包括winrm详细信息
---
# WinRM Protocol Details
ansible_user: DOMAIN\hiddai
ansible_password: F01o3O4
ansible_connection: winrm
ansible_port: 5985
ansible_winrm_scheme: http
ansible_winrm_server_cert_validation: ignore
ansible_winrm_kerberos_delegation: false
ansible_winrm_transport: ntlm
ansible_winrm_read_timeout_sec: 70
ansible_winrm_operation_timeout_sec: 60在域中启用了下列策略:/ (WinRM)/WinRM客户机
Windows组件/Windows远程管理(WinRM)/WinRM服务
我如何解决这些错误?
发布于 2021-08-16 22:42:51
第一个错误:您有配置了证书的winrm (tcp端口5986)侦听器吗?我猜它无法调用该方法,因为它找不到任何证书。
第二个错误:当尝试双跳到UNC路径时,您可能会得到一个拒绝访问的错误。不要这样做,或者2)如果需要的话,您将需要配置凭证委托(每个任务,每次播放,或者在连接中)。您可以委托CredSSP或Kerberos凭据(从外观上看,如果使用Kerberos,您肯定需要更多的python模块。
阅读ansible,windows和kerberos在这里:https://docs.ansible.com/ansible/latest/user_指南/窗口_winrm.html
https://serverfault.com/questions/1074740
复制相似问题