WSL1 localhost

151 views
Skip to first unread message

Filipe Gonçalves

unread,
Jun 28, 2023, 11:40:55 AM6/28/23
to Ansible Project
### Summary

When running a simple playbook that uses the ansible.windows.* module(i've tested some ansible.windows, not all) it always fails on runtime, I'm using WSL1 on Windows 10, so I imagine it is because it is recognizing localhost as the wsl virtual machine and not my windows machine, I'm unsure if this is the case since im new to Ansible, but I have researched this quite a bit and didn't find a concrete awnser.

My inventory
[localhost]
127.0.0.1 ansible_connection=local

Can upgrading the WSL version to WSL2 fix this issue?


### Ansible Version
$ ansible --version
ansible [core 2.14.5]


### OS / Environment

WSL1, Windows 10

### Steps to Reproduce
- name: test
  hosts: localhost
  gather_facts: false

  tasks:
    - name: Run basic PowerShell script
      ansible.windows.win_powershell:
        script: |
          echo "Hello World"


### Expected Results

Hello World

### Actual Results
fatal: [127.0.0.1]: FAILED! => {
    "changed": false,
    "module_stderr": "/bin/sh: 1: powershell: not found\n",
    "module_stdout": "",
    "msg": "The module failed to execute correctly, you probably need to set the interpreter.\nSee stdout/stderr for the exact error",
    "rc": 127
}

John Petro

unread,
Jun 28, 2023, 11:50:54 AM6/28/23
to ansible...@googlegroups.com
If I am reading the output correctly, it looks like it can't find powershell.  have you tried running a powershell command in WSL to see if you get that expected output?

--John

--
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 ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/6164a4d5-a582-4586-ac4b-1c7403512ab8n%40googlegroups.com.

jbor...@gmail.com

unread,
Jun 28, 2023, 7:15:01 PM6/28/23
to Ansible Project
Localhost on the WSL side is the WSL Linux host itself and not the Windows one. Unfortunately you still need to target your Windows localhost using the winrm or psrp connection type.

Thanks

Jordan

Filipe Gonçalves

unread,
Jul 5, 2023, 1:23:25 PM7/5/23
to ansible...@googlegroups.com
I can run powershell in wsl and i can run
raw: powershell.exe on ansible

my problem is that win packages are just not working altogether

jbor...@gmail.com

unread,
Jul 5, 2023, 5:28:16 PM7/5/23
to Ansible Project
Sure you can run powershell.exe directly with raw/shell/command as the executable but as I mentioned the localhost on WSL refers to the Linux host. The only way to run the Windows PowerShell modules is to target the host through winrm/psrp so the remote host is on the Windows side.
Reply all
Reply to author
Forward
0 new messages