首页 > 解决方案 > 基于先前命令输出的 Ansible win_shell 循环

问题描述

下午好,我是 Ansible 的新手。正在编写我的第一本 Play Book。我们需要的是一个可以发出 Powershell 命令的命令

DISM /Online /Get-ProvisionedAppxPackages | select-string Packagename

上面的命令将产生几个从 windows 返回的结果。然后我们要做的是逐个循环遍历这些包并通过发出此命令将它们删除

DISM /Online /Remove-ProvisionedAppxPackage /PackageName:PACKAGENAME

其中 PACKAGENAME 是第一个命令的结果。基本上,第一个命令发出调用以获取 Windows 10 中的英国媒体报道软件列表,第二个命令将它们逐个删除。

到目前为止,我有的是第一个电话。

- hosts: win_host
  gather_facts: no
  tasks:
          - name: Remove Windows Bloatware
            win_shell: |
              DISM /Online /Get-ProvisionedAppxPackages | select-string Packagename
            register: PackageName

但我不确定循环以及何时何地发出第二个命令。任何帮助将不胜感激。

谢谢你,乔治

标签: ansibleansible-2.xpython-winshellwin-shell

解决方案


推荐阅读