网络家伙假装“编码”......(在此处插入笑声/耻辱)。我正在尝试创建一个充满 STIG 要求的剧本。我希望能够在网络设备上运行这个剧本,然后轻松地将结果复制到我们的 .ckl 文件中。
如果它不完全和完全明显,我使用 Ansible 不到一周。
*首先,我要对命令的输出进行 ansible 注册。*然后我想验证某些单词或短语是否在寄存器的输出中。*然后当然有一个调试消息状态“Not a Finding {insert register here}”或“Open {insert register here}”
我似乎无法让“当{this pharse}(是(或不)在)register.stdout”工作。
使用 Ansible 2.9
- hosts: ios
connection: network_cli
gather_facts: no
tasks:
- name: Gather Username Configuration Lines
ios_command:
commands: show run | i username localadmin
register: output
- debug:
msg: "{{ output.stdout }}"
- name: Username has correct privilege level
block:
- debug:
msg: "{{ output.stdout }}"
when: "'privilege 15' in output.stdout"
输出:
$ ansible-playbook ciscouserprivcheck.yml -u localadmin -k
SSH password:
PLAY [ios] *************************************************************************************************************************************
TASK [Gather Username Configuration Lines] *****************************************************************************************************
ok: [Cisco1]
TASK [debug] ***********************************************************************************************************************************
ok: [Cisco1] =>
msg:
- username localadmin privilege 15 secret 5 $1$o1t2$VoZhNwm3bMfsTJ6e8RIdl1
TASK [debug] ***********************************************************************************************************************************
skipping: [Cisco1]
PLAY RECAP *************************************************************************************************************************************
Cisco1 : ok=2 changed=0 unreachable=0 failed=0 skipped=1 rescued=0 ignored=0