无效用户的Ansible Cisco配置符合性检查

无效用户的Ansible Cisco配置符合性检查,ansible,cisco,Ansible,Cisco,我正在尝试使用Ansible验证Cisco配置。我想知道除了有效的用户之外,是否配置了其他用户 有效用户: 用户名admin, 用户名只读 无效用户: 用户名secretbackdoor 我试图创建一个用户列表,然后标记任何无效的用户。我目前掌握的守则如下: --- - hosts: cisco gather_facts: no tasks: - name: show run ios_command: commands: - show run registe

我正在尝试使用Ansible验证Cisco配置。我想知道除了有效的用户之外,是否配置了其他用户

有效用户: 用户名admin, 用户名只读

无效用户: 用户名secretbackdoor

我试图创建一个用户列表,然后标记任何无效的用户。我目前掌握的守则如下:

---
- hosts: cisco
  gather_facts: no

  tasks:

- name: show run
  ios_command:
    commands:
     - show run
  register: cisco_show_run

    - name: list_cisco_usernames
  set_fact: cisco_usernames="{{ cisco_show_run.stdout[0] | regex_findall('username (\S+)', multiline=True) }}"

- name: print usernames
  debug:
    msg: {{ item }}
  with_items: "{{ cisco_usernames }}"
这将打印出三个用户。不确定下一步要去哪里。

可能是下一个选项。比如说

-hosts:localhost
变量:
有效用户:[管理员,只读]
无效的用户:[secretbackdoor]
cisco_用户名:[管理员,只读,秘密后门]
任务:
-名称:显示用户不是有效的\u用户
调试:
msg:不在有效用户中{{Not_valid}}
时间:无效|长度>0
变量:
无效:{{cisco_用户名{124;差异(有效_用户)}”
-名称:在无效用户中显示用户
调试:
msg:在无效用户中{{not_valid}}
时间:无效|长度>0
变量:
无效:{{cisco_用户名{124; intersect(无效_用户)}”
给出(节略)

ok:[localhost]=>
msg:不在有效用户之间['secretbackdoor']
确定:[本地主机]=>
msg:在无效用户中['secretbackdoor']

谢谢您的帮助。你的解决方案很有效。我选择了第一个选项,因为我并不总是知道“不正确”的用户是什么