1

我正在使用 ansible 运行 Windows 的打包程序来配置 VM。

我通过 OpenSHH 连接到虚拟机。我将 powershell 7 设置为 OpenSSH 的默认 shell。当我在命令行上通过 ssh 连接到 VM 时,横幅显示 PowerShell 7.1.3。

我通过 ansible-playbook 运行以下代码:

    - name: Check powershell version
      ansible.windows.win_shell: | 
        Get-Host | Select-Object Version

    - name:  Check powershell version
      ansible.windows.win_shell: | 
        Get-Host | Select-Object Version
      args:
        executable: pwsh

第一个任务返回5.1.19041.1023

第二个任务返回7.1.3

因此,当我不指定可执行文件时,win_shell 正在运行 powershell.exe,即 powershell 5。

当我将可执行文件指定为 pwsh(即 powershell 7)时,它的行为正确。

我不明白为什么 win_shell 模块忽略了注册表中的默认设置。有谁知道我做错了什么?

4

0 回答 0