Json 执行此Ansible/Powershell时出错

Json 执行此Ansible/Powershell时出错,json,windows,ansible,chocolatey,Json,Windows,Ansible,Chocolatey,我们希望执行一个包比较器,将本地存储库中的巧克力包与公共存储库中的巧克力包进行比较。现在,当我们执行剧本时,脚本的副本运行得很好,但是脚本的执行也很好,但是由于某种原因失败了。也许你们中的一个可以帮我 tasks: - name: Copy powershell file to Chocolatey server win_copy: src: ../powershell/package_comparer.ps1 dest: C:\Temp\

我们希望执行一个包比较器,将本地存储库中的巧克力包与公共存储库中的巧克力包进行比较。现在,当我们执行剧本时,脚本的副本运行得很好,但是脚本的执行也很好,但是由于某种原因失败了。也许你们中的一个可以帮我

 tasks:
    - name: Copy powershell file to Chocolatey server
      win_copy:
        src: ../powershell/package_comparer.ps1
        dest: C:\Temp\

    - name: Executing Powershell script
      win_shell: C:\Temp\package_comparer.ps1
      changed_when: false
      register: result

    - name: parse .json file
      set_fact:
         packages_result: "{{(result.stdout | from_json)}}"

    - debug:
        msg: "{{ packages_results }}"

我们可以毫无差错地执行这项任务。。现在我发现这个错误:

[WARNING]: Failure using method (v2_runner_on_failed) in callback plugin (<ansible.plugins.callback.yaml.CallbackModule object at 0x7fecd4ee8910>): value must be a string

Callback Exception:
  File "/usr/lib/python2.7/site-packages/ansible/executor/task_queue_manager.py", line 333, in send_callback
    method(*new_args, **kwargs)
   File "/usr/lib/python2.7/site-packages/ansible/plugins/callback/default.py", line 93, in v2_runner_on_failed
    self._display.display("fatal: [%s]: FAILED! => %s" % (result._host.get_name(), self._dump_results(result._result)),
   File "/usr/lib/python2.7/site-packages/ansible/plugins/callback/yaml.py", line 123, in _dump_results
    dumped += to_text(yaml.dump(abridged_result, allow_unicode=True, width=1000, Dumper=AnsibleDumper, default_flow_style=False))
   File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 293, in dump
    return dump_all([data], stream, Dumper=Dumper, **kwds)
   File "/usr/lib64/python2.7/site-packages/yaml/__init__.py", line 281, in dump_all
    dumper.represent(data)
   File "/usr/lib64/python2.7/site-packages/yaml/representer.py", line 30, in represent
    self.serialize(node)
   File "_yaml.pyx", line 1348, in _yaml.CEmitter.serialize (ext/_yaml.c:15963)
   File "_yaml.pyx", line 1510, in _yaml.CEmitter._serialize_node (ext/_yaml.c:18037)
   File "_yaml.pyx", line 1431, in _yaml.CEmitter._serialize_node (ext/_yaml.c:17021)


PLAY RECAP **********************************************************************************************************************************************************************************************
host_machine        : ok=1    changed=1    unreachable=0    failed=1    skipped=0    rescued=0    ignored=0
[警告]:在回调插件()中使用方法失败(v2\u runner\u on\u失败):值必须是字符串
回调异常:
文件“/usr/lib/python2.7/site packages/ansible/executor/task\u queue\u manager.py”,第333行,在发送回调中
方法(*新参数,**kwargs)
v2\u runner\u on\u中的文件“/usr/lib/python2.7/site packages/ansible/plugins/callback/default.py”,第93行失败
self.\u display.display(“致命:[%s]:失败!=>%s”%(结果.\u主机.获取\u名称(),self.\u转储\u结果(结果.\u结果)),
文件“/usr/lib/python2.7/site packages/ansible/plugins/callback/yaml.py”,第123行,在转储结果中
dumped+=to_text(yaml.dump(简略的结果,允许unicode=True,宽度=1000,Dumper=AnsibleDumper,默认的流样式=False))
文件“/usr/lib64/python2.7/site packages/yaml/_init__.py”,第293行,在转储文件中
返回dump_all([数据],流,Dumper=Dumper,**kwds)
文件“/usr/lib64/python2.7/site packages/yaml/_init__.py”,第281行,位于dump_all中
dumper.represente(数据)
文件“/usr/lib64/python2.7/site packages/yaml/representer.py”,第30行,代表
self.serialize(节点)
文件“_yaml.pyx”,第1348行,在_yaml.CEmitter.serialize中(ext/_yaml.c:15963)
文件“_yaml.pyx”,第1510行,位于_yaml.CEmitter._serialize_节点(ext/_yaml.c:18037)
文件“_yaml.pyx”,第1431行,在_yaml.CEmitter._serialize_节点(ext/_yaml.c:17021)中
重演**********************************************************************************************************************************************************************************************
主机\u计算机:确定=1更改=1无法访问=0失败=1跳过=0获救=0忽略=0

我们无法从您的输出中看到哪个任务失败。是
设置事实任务吗?能否显示
结果的内容。stdout
?请编辑您的问题以添加此信息。在调试级别检查它是否失败。因为您将变量存储到“packages\u result”中,但在调试命令中尝试调用“packages_results.”如果不是这样,请提供类似Zeitounator在评论中询问的信息。@Zeitounator这就是问题所在,我看不到结果。stdout在那里失败了…@Sai修复了它,谢谢你的帮助,但仍然得到了错误:(