My explanation in the first message wasn't great - apologies. 
Just to be clear...

In a playbook...


   1. A Tasks changes remote shell on windows system (ansible_shell_type) 
   from powershell to cmd
   Subsequent tasks then run but have the opposite results as if the shell 
   hasn't been changed
   2. win_ping using powershell - success - when it should fail
   3. win_ping using cmd shell - failure - when it should work, as we've 
   changed the shell in 1
   

Just been reading about multiplexing, sounded a likely culprit so I set

ansible.cfg
[ssh_connection]
-o ControlMaster=no

But no change, it's still hanging onto it's old shell despite having been 
changed.
Or I'm tired and misreading something
On Saturday, 27 March 2021 at 00:06:31 UTC needabettername wrote:

> Trying to make a dual boot script and came across these results, the shell 
> is changed during the playbook but subsequent tasks are somehow using the 
> old one. 
>
> How can I force a new connection please?
>
> 1) Change shell to cmd -Success
> win_ping using powershell - success
> win_ping using cmd - failure
>
> The reverse is true when changing it back.
> I've confimed the shells are changing by normal ssh from CLI
>
> --Part of Playbook--
> ---
> - hosts: happy
>   gather_facts: no
>   ignore_unreachable: true
>   ignore_errors: true
>   tasks:
>     - include_tasks: win_shell_cmd.yml
>       vars:
>         become: yes
>         ansible_connection: ssh
>         ansible_shell_type: powershell
>         become_method: runas
>     - name: win_ping using ansible_shell_type powershell
>       win_ping:
>       vars:
>         become: yes
>         ansible_connection: ssh
>         ansible_shell_type: powershell
>         become_method: runas
>     - name: win_ping using ansible_shell_type cmd
>       win_ping:
>       vars:
>         become: yes
>         ansible_connection: ssh
>         ansible_shell_type: cmd
>         become_method: runas
>
> --- win_shell_cmd.yml ---
> - name: set the default shell to cmd
>   win_regedit:
>     path: HKLM:\SOFTWARE\OpenSSH
>     name: DefaultShell
>     state: absent
>

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/7daaa5cb-d187-4b7a-a146-b200c8488acfn%40googlegroups.com.

Reply via email to