当 PowerShell\ 环境路径变量出现在 PowerShell\v1.0\ 之前时,Ansible Playbooks 不会 运行

Ansible Playbooks do not run when PowerShell\7\ Environment Path Variable comes before PowerShell\v1.0\

我正在 运行 编写将 PowerShell 7 安装到 Windows VM 上的剧本。

在这个剧本中,我需要调换 %SYSTEMROOT%\System32\WindowsPowershell\v1.0\C:\Program Files\PowerShell\ 的顺序,所以前者在 Env:Path 中排在第一位,我成功地做到了。 (我们执行的其他程序和流程必须执行此步骤)

现在的问题是剧本根本没有 运行,我得到了这个错误

FAILED! => {
    "msg": "winrm send_input failed; \nstdout: 
\nstderr 'PowerShell' is not recognized as an internal or external command,
\r\noperable program or batch file.\r\n"
}

我认为问题在于 Ansible 试图引用 PowerShell 7,但它不起作用(出于某种原因,如果可以,请告诉我原因)。有没有办法让 Ansible 始终引用 %SYSTEMROOT%\System32\WindowsPowershell\v1.0\?

事实证明,win_path 模块完全符合我的要求,并且确实正确地完成了。解决了我所有的问题