Ansible powershell命令寄存器

Ansible powershell命令寄存器,powershell,ansible,Powershell,Ansible,但是,我正在尝试从Ansible运行此PowerShell命令,执行过程中出现错误“意外标记”:“在表达式或语句中”,因为寄存器的打印格式不正确:{'msg':'Postman_qyy7z89j1cgve','failed':False','changed':False} 剧本: - hosts: localhost connection: local vars: subscription_id: "" workspace_name: &quo

但是,我正在尝试从Ansible运行此PowerShell命令,执行过程中出现错误“意外标记”:“在表达式或语句中”,因为寄存器的打印格式不正确:{'msg':'Postman_qyy7z89j1cgve','failed':False','changed':False}

剧本:

- hosts: localhost
  connection: local
  vars:
      subscription_id: ""
      workspace_name: "WVD-WorkSpace"
      hostpool_name: "WVD-HostPool"
      rg_name: "WVD"
      uri_path: '\\certsign\MSIXAppAttach_Store\Postman_8.0.7.0_x64.vhdx'
      DisplayName: "postman"
      appgroup_name: "WVD-DesktopAG"

  tasks:
  - name: Get Package App id
    shell: |
        $obj = Expand-AzWvdMsixImage -HostPoolName {{ hostpool_name }} -ResourceGroupName {{ rg_name }} -SubscriptionId {{ subscription_id }} -Uri {{ uri_path }}
        Write-Output $obj.PackageApplication.AppId 
    args:
      executable: /usr/local/bin/pwsh
    register: packageappid

  - name: Get PackageFamilyName
    shell: |
        $obj = Expand-AzWvdMsixImage -HostPoolName {{ hostpool_name }} -ResourceGroupName {{ rg_name }} -SubscriptionId {{ subscription_id }} -Uri {{ uri_path }}
        Write-Output $obj.PackageFamilyName > PackageFamilyName
    args:
      executable: /usr/local/bin/pwsh

  - name: echo Package Family Name
    debug: 
      msg: "{{ lookup('file', 'packagefamilyname') | regex_replace('\"', \" \")}}"
    register: packagefamilyname
  
  - debug:
      var: packagefamilyname

  - name: Add MSIX Package to HostPool
    shell: New-AzWvdMsixPackage -HostPoolName {{ hostpool_name }} -ResourceGroupName {{ rg_name }} -SubscriptionId {{ subscription_id }} -PackageAlias {{ DisplayName }} -DisplayName {{ DisplayName }} -ImagePath {{ uri_path }} -IsActive:$true
    args:
      executable: /usr/local/bin/pwsh

  - name: Add MSIX Package to App group
    shell: New-AzWvdApplication -ResourceGroupName {{ rg_name }} -SubscriptionId {{ subscription_id }} -Name Postman -ApplicationType MsixApplication -ApplicationGroupName {{ appgroup_name }} -MsixPackageFamilyName {{ packagefamilyname }} -CommandLineSetting 0
    args:
      executable: /usr/local/bin/pwsh
获取此错误:

fatal: [localhost]: FAILED! => {"changed": true, "cmd": "New-AzWvdApplication -ResourceGroupName WVD -SubscriptionId xxxxxxxxxxxxxxx -Name Postman -ApplicationType MsixApplication -ApplicationGroupName WVD-DesktopAG -MsixPackageFamilyName {'msg': 'Postman_qyy7z89j1cgve', 'failed': False, 'changed': False} -CommandLineSetting 0", "delta": "0:00:00.454569", "end": "2021-04-29 15:38:29.238059", "msg": "non-zero return code", "rc": 1, "start": "2021-04-29 15:38:28.783490", "stderr": "\u001b[91mParserError: \n\u001b[96mLine |\n\u001b[96m   1 | \u001b[0m … icationGroupName WVD-DesktopAG -MsixPackageFamilyName {'msg'\u001b[96m:\u001b[0m 'Postma …\n\u001b[96m     | \u001b[91m                                                               ~\n\u001b[91m\u001b[96m     | \u001b[91mUnexpected token ':' in expression or statement.\n\u001b[0m", "stderr_lines": ["\u001b[91mParserError: ", "\u001b[96mLine |", "\u001b[96m   1 | \u001b[0m … icationGroupName WVD-DesktopAG -MsixPackageFamilyName {'msg'\u001b[96m:\u001b[0m 'Postma …", "\u001b[96m     | \u001b[91m                                                               ~", "\u001b[91m\u001b[96m     | \u001b[91mUnexpected token ':' in expression or statement.", "\u001b[0m"], "stdout": "", "stdout_lines": []}
您不应该(?)
注册:
调试:任务,因为这几乎肯定不是您真正想要的。这就是说,消息非常清楚,并且与其他
寄存器:
行为一致:它是一个
dict
,您将它视为
str
,所以只需将
{packagefamilyname}
更改为
{packagefamilyname.msg}
希望你不要在一个团队中工作,在这个团队中,一些可怜的灵魂不得不怀疑为什么会存在这种模式