Ejecutar scripts de PowerShell desde Ansible
Hace un tiempo escribí sobre Ansible y la integración, o los mecanismos disponibles, que tenemos con Azure, haciendo foco en el uso de la Azure Cloud Shell. Pero ¿que métodos tenemos a disposición si queremos utilizar PowerShell dentro de un Playbook de Ansible?
Ansible ofrece una serie de módulos para poder interactuar con los servidores Windows:
- win_command: Permite ejecutar comandos incluyendo scripts de PowerShell, por medio de la invocación del ejecutable.
- win_shell: Es la segunda opción y la menos recomendada, ya que el entorno del usuario tiene incidencia.
Un ejemplo de uso de win_command sería lo siguiente:
Donde directamente invocamos un script para ejecutar remotamente.
Obviamente esto trae asociado que anteriormente se debió copiar el archivo al destino. Ansible tiene el módulo win_copy para tal fin. Su uso, sería de la siguiente manera:
Del otro lado tenemos el módulo win_shell, donde podríamos definir un ejemplo de uso: Comprobar si existe una carpeta y en caso que exista, generar un archivo. La situación anterior podríamos resolverla de la siguiente manera:
Más información: https://docs.ansible.com/ansible/latest/plugins/shell/powershell.html
Happy scripting!
Comments