【问题标题】:Powershell on ansible-playbook remote hostansible-playbook 远程主机上的 Powershell
【发布时间】:2021-11-04 00:44:43
【问题描述】:

我有一个 PowerShell 脚本 ex1.ps1 接受用户输入,ex1.ps1 有打开新 PowerShell 以执行 exe 文件的命令:

Start-Process -FilePath "$PSHOME\powershell.exe" -ArgumentList "-command C:\APPLICATION1.exe`

我想在远程主机上执行ex1.ps1。我正在尝试使用 Ansible-playbook 调用 ex1.ps1

# ansible-playbook script
- name: Run basic PowerShell script
    win_powershell:
       script: |
           powershell.exe -ExecutionPolicy ByPass -File C:/Users/ex1.ps1

它执行良好,但在远程主机中没有打开 PowerShell 提示符来获取输入。

【问题讨论】:

  • 请使用编辑器窗口顶部的格式化辅助工具和屏幕右侧的帮助来编辑您的问题并正确格式化您的代码。谢谢。

标签: windows powershell ansible


【解决方案1】:

在使用 Ansible 等工具进行部署时,您不应期待手动输入。我不知道您要运行的实际程序,但这里最好的解决方案是找出程序在没有用户交互的情况下安装/启动/运行所需的参数。

如果您能够提供该计划的名称(并且它不是您组织内部的名称),则可以提供更完整的答案。


与您的问题无关,除非您针对此问题过度概括了您的代码,否则没有理由在 PowerShell 中调用 powershell.exe 只是为了运行可执行文件。您可以将Start-Processcall operator & 直接与有问题的exe 路径一起使用。

我有一个answer here,它超越了Start-Process,并更详细地说明了& 的用法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-11
    • 2015-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 2017-09-08
    相关资源
    最近更新 更多