繁体   English   中英

通过 Ansible 请求 Windows Session ID

[英]Request Windows Session ID via Ansible

这是我想要实现的目标:

我有一台 Linux 机器,它使用 Ansible 在远程 Windows 机器上启动一个进程。 我知道实际看到从 windows 机器开始的过程,我需要使用来自 Windows 机器的活动 session ID。 有不同的方法可以获得这个 session ID,例如在命令行中输入“qwinsta”。 问题是,这个 ID 在新启动时会发生变化,所以我需要在 Ansible Playbook 中添加一个变量,该变量在向 Windows 机器发出请求后会自动更改,该机器提供所需的 session ID。 我希望你明白我的意思? 是否有 powershell 命令或其他可以放入 Ansible 剧本的解决方案,以便我有一个变量,其中只包含所需的 session 的数量?

例如,在附图中我的变量 session_id = 4 所以在我的 ansible 剧本中,我可以将 win_shell 与 PsExec.exe -i 4 一起使用,我想用某种动态变量替换 4。

会议

如果您需要更多信息,请询问。

我解决了这个问题:

- name: Get Session ID with cmd command
  win_shell: for /f "tokens=2-4" %a in ('query session %username%') do @if "%c"=="Active" echo %b
  args:
    executable: cmd
  register: session_id

我使用的下一步:

session: '{{ session_id.stdout }}'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM