首页 > 解决方案 > 从 Ansible 运行时,Start-Process 在 Z: 驱动器上找不到路径;在本地工作得很好

问题描述

我正在尝试使用 Ansible for Windows 安装 Visual Studio 2017,但遇到了一个奇怪的问题。安装程序位于Z:\visualstudio\2017\vs2017_professional\vs2017_Professional.exe,这是我运行它的任务:

- name: Install Visual Studio
  win_shell: Start-Process -FilePath Z:\visualstudio\2017\vs2017_professional\vs2017_Professional.exe -ArgumentList '--quiet --norestart' -Wait
  args:
    creates: 'C:\Program Files (x86)\MSBuild\14.1\Bin\MSBuild.exe'
  become_user: Administrator

但是,它总是失败:

致命:[主机名]:失败!=> {“更改”:true,“cmd”:“启动进程-FilePath Z:\visualstudio\2017\vs2017_professional\vs2017_Professional.exe -ArgumentList '--quiet --norestart' -Wait”,“delta”:“ 0:00:06.157773", "end": "2018-10-17 09:00:35.262158", "msg": "非零返回码", "rc": 1, "start": "2018-10 -17 09:00:29.104384", "stderr": "Start-Process : 由于错误无法运行此命令:系统找不到指定的驱动器。\r\nAt line:1 char:65\r\n+ ... ing $false; Start-Process -FilePath Z:\visualstudio\2017\vs2017_profe ...\r\n+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~\r\n + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException\r\n + FullyQualifiedErrorId : InvalidOperationException,Microsoft.PowerShell.Commands.StartProcessCommand", "stderr_lines": [" Start-Process : 由于错误无法运行此命令:系统找不到指定的驱动器。", "At line:1 char:65", "+ ... ing $false; Start-Process -FilePath Z:\visualstudio\2017\vs2017_profe ...", "+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~", " + CategoryInfo : InvalidOperation: (:) [Start-Process], InvalidOperationException", " + FullyQualifiedErrorId :无效操作异常,Microsoft.PowerShell.Commands。

文件路径绝对有效,并且完全相同的脚本可以作为在机器上本地运行的独立 powershell 文件正常工作。我究竟做错了什么?

标签: windowspowershellansible

解决方案


也许这有帮助:

- name: Install Visual Studio
  win_shell: Start-Process -FilePath " Z:\\visualstudio\\2017\\vs2017_professional\\vs2017_Professional.exe" -ArgumentList '--quiet --norestart' -Wait
  args:
    creates: 'C:\Program Files (x86)\MSBuild\14.1\Bin\MSBuild.exe'
  become_user: Administrator

推荐阅读