Soy nuevo en Ansible. Creé un libro de estrategias que usa PowerShell para restablecer la contraseña de su cuenta de administrador. El script tiene una verificación que solo restablece la contraseña SI la cuenta está habilitada. Cuando la cuenta está deshabilitada, aparece un write-host
mensaje que dice que deberían crear un ticket.
Todo esto funciona bien, sin embargo, el trabajo finaliza con un estado verde. Técnicamente, esto es correcto porque todo el libro de jugadas se ejecutó correctamente. Pero el usuario final pensará que se restableció la contraseña. (Sí, el mensaje dice claramente que no, pero sé cómo son los usuarios, no leen y solo miran los colores).
Entonces mi pregunta es conwin_shell
¿Cómo puedo cambiar el color del trabajo de verde a naranja o rojo??
Sé que es posible ansible.windows.win_powershell
pero no tenemos ese módulo. Entonces tiene que ser con win_shell
.
Espero que esta sea una pregunta fácil. Gracias por su amabilidad.
Editar, solución:
Gracias a Hendrik Pingel a continuación. Me aseguré de incluir solo la frase a continuación después de realizar todos los cambios necesarios. Entonces, a menos que el guión diga esto, algo salió mal y puedo cambiar el color a rojo con seguridad.
- name: Change flag to red if there was no success in the message output.
debug:
msg: "{{lookupResult.stdout_lines}}"
failed_when: '"Password reset was a success" not in lookupResult.stdout'
S.
Respuesta1
Las condiciones de falla de una tarea se pueden controlar con elfallido_cuandocondicional.
Si una tarea siempre falla, es posible hacer simplemente:
- name: fail always
ansible.builtin.debug:
msg: "Failed"
failed_when: always
Si la condición de falla debe basarse en una salida específica del comando, haga algo como esto:
- name: Check if a file exists in temp and fail task if it does
ansible.builtin.command: ls /tmp/this_should_not_be_here
register: result
failed_when: '"No such" not in result.stdout'
Respuesta2
Salga de su secuencia de comandos con un código de error.
if ($account.disabled) {
Write-Host "Account is disabled"
Exit 1
}