当环境变量中的路径无效(win_stat 任务)时,winrm 出现 Ansible (2.11 +) 错误
Ansible (2.11 +) error with winrm when path invalid in environment variable (win_stat task)
我们有一个 Ansible 脚本可以在 Windows 上部署软件。其中一项任务是使用 win_stat 命令检查文件夹是否存在。
但是,在某些服务器上,当在 windows 服务器上的 'LIB' 环境变量中定义了不存在的路径时,任务会抛出错误(该路径与其他服务器无关)与我们检查的内容)
我可以用一个死板的简单脚本重现:
- hosts: all
gather_facts: no
tasks:
- name: Check addon folder
win_stat:
path: 'C:\temp\'
错误是(详细):
The full traceback is:
(0) : Warning as Error: Invalid search path 'System.Collections.DictionaryEntry' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '
(1) : using Microsoft.Win32.SafeHandles;
At line:408 char:5
+ Add-Type -TypeDefinition $link_util
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (Microsoft.Power...peCompilerError:AddTypeCompilerError) [Add-Type], Exception
+ FullyQualifiedErrorId : SOURCE_CODE_ERROR,Microsoft.PowerShell.Commands.AddTypeCommand
ScriptStackTrace:
at Load-LinkUtils, <No file>: line 408
at <ScriptBlock>, <No file>: line 76
fatal: [IADCMP019]: FAILED! => {
"changed": false,
"msg": "Unhandled exception while executing module: (0) : Warning as Error: Invalid search path 'System.Collections.DictionaryEntry' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '\n\n(1) : using Microsoft.Win32.SafeHandles;\n"
}
Ansible 核心的 2.11.6 和 2.11.4 会出现问题,但 2.10(至少 2.10.9)不会出现问题
我想知道这是 2.11 中的新检查还是我应该打开错误报告。
EDIT1:将 'c:' 更改为 'c:\temp',因为前者的 win_stat 命令很长,后者更快
我没有为此查找正确的存储库。该错误已在 ansible.windows 集合上打开:https://github.com/ansible-collections/ansible.windows/issues/297
我们有一个 Ansible 脚本可以在 Windows 上部署软件。其中一项任务是使用 win_stat 命令检查文件夹是否存在。
但是,在某些服务器上,当在 windows 服务器上的 'LIB' 环境变量中定义了不存在的路径时,任务会抛出错误(该路径与其他服务器无关)与我们检查的内容)
我可以用一个死板的简单脚本重现:
- hosts: all
gather_facts: no
tasks:
- name: Check addon folder
win_stat:
path: 'C:\temp\'
错误是(详细):
The full traceback is:
(0) : Warning as Error: Invalid search path 'System.Collections.DictionaryEntry' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '
(1) : using Microsoft.Win32.SafeHandles;
At line:408 char:5
+ Add-Type -TypeDefinition $link_util
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (Microsoft.Power...peCompilerError:AddTypeCompilerError) [Add-Type], Exception
+ FullyQualifiedErrorId : SOURCE_CODE_ERROR,Microsoft.PowerShell.Commands.AddTypeCommand
ScriptStackTrace:
at Load-LinkUtils, <No file>: line 408
at <ScriptBlock>, <No file>: line 76
fatal: [IADCMP019]: FAILED! => {
"changed": false,
"msg": "Unhandled exception while executing module: (0) : Warning as Error: Invalid search path 'System.Collections.DictionaryEntry' specified in 'LIB environment variable' -- 'The system cannot find the path specified. '\n\n(1) : using Microsoft.Win32.SafeHandles;\n"
}
Ansible 核心的 2.11.6 和 2.11.4 会出现问题,但 2.10(至少 2.10.9)不会出现问题
我想知道这是 2.11 中的新检查还是我应该打开错误报告。
EDIT1:将 'c:' 更改为 'c:\temp',因为前者的 win_stat 命令很长,后者更快
我没有为此查找正确的存储库。该错误已在 ansible.windows 集合上打开:https://github.com/ansible-collections/ansible.windows/issues/297