saltstack: 运行 powershell 脚本处于一个状态

saltstack: run powershell script in a state

我正在尝试从 bitbucket 下载 uru 并尝试使用带有默认登录凭据的 vagrant 进行安装。我可以下载存档。每当我尝试 运行 脚本时都会看到此错误 - Invalidly-formated env parameter. See documentation. 我能够 运行 脚本而不会出现任何错误。我 运行 在无主模式下使用 vagrant 在本地进行此操作。非常感谢任何帮助。

download_uru:
  file.managed:
    - name: c:\uru-0.8.3-windows-x86.7z
    - source: https://bitbucket.org/jonforums/uru/downloads/uru-0.8.3-windows-x86.7z
    - source_hash: sha256=f2a7b4ed8ef6b02613b134da19a31293c7423e8fbbd8e49ec5c1c86c5f3a0815

install_uru:
  cmd.run:
    - source: salt://ruby/files/install_uru.ps1
    - shell: powershell
    - env: "-ExecutionPolicy bypass"
    - runas: "vagrant"
    - password: "vagrant"
    - require:
      - file: download_uru

$cat install_uru.ps1

set-alias sz "$env:ProgramFiles-Zipz.exe"

sz x -oC: C:\uru-0.8.3-windows-x86.7z -r ;

c:\salt\salt-call.bat --version

salt-call 2016.11.3(碳)

您的问题是由于 -env 参数格式错误造成的。如 official documentation 中所述,它必须是 list 并且您正在设置 string.

像下面的代码一样修复 install_uru 状态,它将 运行 正确。

install_uru:
  cmd.run:
    - source: salt://ruby/install_uru.ps1
    - shell: powershell
    - env: 
      - ExecutionPolicy: "bypass"
    - runas: "vagrant"
    - password: "vagrant"
    - require:
      - file: download_uru

这也有效。

download_uru:
  file.managed:
    - name: c:\uru-0.8.3-windows-x86.7z
    - source: https://bitbucket.org/jonforums/uru/downloads/uru-0.8.3-windows-x86.7z
    - source_hash: sha256=f2a7b4ed8ef6b02613b134da19a31293c7423e8fbbd8e49ec5c1c86c5f3a0815

salt://ruby/files/install_uru.ps1:
  cmd.script:
    - shell: powershell
    - env:
      - ExecutionPolicy: "bypass"
    - cwd: C:\