首页 > 解决方案 > 如何以管理员身份在远程 Windows 机器上运行 ansible playbook 并输出日志

问题描述

我有以下剧本:

---
- name: Install winlogbeat
  hosts: windows
  tasks:
    - name: run winlogbeatinstall
      win_shell: |
        ((New-Object Net.WebClient -Property @{Proxy = [Net.GlobalProxySelection]::GetEmptyWebProxy()}).DownloadFile('https://github/install.ps1','C:\ABCD\winlogbeatinstall.ps1'))
        Start-Process powershell.exe -Verb Runas -ArgumentList "-File C:\ABCD\winlogbeatinstall.ps1"
      register: out
    - debug: var=out.stdout_lines  

如果我不是以管理员身份在远程机器上运行这些命令,它就可以工作。
如果我使用相同的非管理员域用户从 playbook 运行它,则只有下载文件有效(第一个命令),安装(第二个命令)无效。
我怎样才能让它工作?

第二个问题,当它以管理员身份运行时,它会打开一个子shell并关闭它,所以我没有任何输出。是否有可能以某种方式看到输出?

欢迎任何建议我怎样才能使这项工作?

标签: linuxpowershellgithubcentosansible

解决方案


推荐阅读