未执行Ansible vmware\u来宾运行

未执行Ansible vmware\u来宾运行,ansible,vmware,Ansible,Vmware,我有以下任务要从模板部署Windows 2016 VM。除未执行的runonce命令外,我的所有自定义都已正确完成。即使在调试模式下运行playbook,也不会出现错误或警告 - name: "[DEEPLOY-INSTANCE] Create a VM Win From a template" vmware_guest: hostname: "{{ vmware.host }}" username: "{{ vmware.username }}"

我有以下任务要从模板部署Windows 2016 VM。除未执行的runonce命令外,我的所有自定义都已正确完成。即使在调试模式下运行playbook,也不会出现错误或警告

- name: "[DEEPLOY-INSTANCE] Create a VM Win From a template"
  vmware_guest:
        hostname: "{{ vmware.host }}"
        username: "{{ vmware.username }}"
        password: "{{ vmware.password }}"
        validate_certs: False
        datacenter: "{{ vm_datacenter }}"
        cluster: "{{ vm_cluster }}"
        name: "{{ vm_name }}"
        template: "{{ vm_template_full }}"
        folder: "{{ vm_folder }}"
        datastore: "{{ vm_datastore }}"
        hardware:
          num_cpus: "{{ vm_cpu }}"
          memory_mb: "{{ vm_ram }}"
        networks: 
        - name: "{{ vm_netname }}"
          start_connected: yes
          ip: "{{ vm_ip }}"
          netmask: "{{ vm_mask }}"
          gateway: "{{ vm_gw }}"
          type: static  
        customization:
          fullname: "Windows Server"
          orgname: "My Company"
          timezone: 110
          dns_servers:
           - 10.100.100.10
           - 10.100.110.10
          domain: "{{ domain }}"
          joindomain: "{{ domain }}"
          password: "{{ template_pass }}"
          domainadmin: "{{ vmware.username }}"
          domainadminpassword: "{{ vmware.password }}"
          runonce:
          - 'powershell.exe -ExecutionPolicy Unrestricted -File C:\Admin\Scripts\RunOnce.bat'
  register: vm_facts
  delegate_to: localhost
我尝试将整个runonce命令放在单引号和双引号之间,但输出是相同的。如果我查看日志C:\WINDOWS\TEMP\vmware imc\guestcust.log,就没有提到尝试执行runone,但是有一些正在执行的自定义信息

Ansible版本是2.9

编辑


将runonce的指数化改为我现在的指数化,尽管它在有引号或没有引号的情况下都不起作用。作为一种解决方法,我使用模块vmware_vm_shell在一个单独的任务中启动了该.bat文件

您能像下面这样更正缩进并尝试一次吗

runonce:
- powershell.exe -ExecutionPolicy Unrestricted -File C:\Admin\Scripts\RunOnce.bat
请参阅本期:

通常Ansible不清楚地接受一个或两个空格作为索引。我确实尝试了你提到的索引,但结果是一样的。在你分享的那个链接上,问题是他有一个冒号,后面跟一个空格,而我没有。