diff --git a/changelogs/fragments/win_keep_remote_file_python26.yaml b/changelogs/fragments/win_keep_remote_file_python26.yaml new file mode 100644 index 0000000000..20ca50112b --- /dev/null +++ b/changelogs/fragments/win_keep_remote_file_python26.yaml @@ -0,0 +1,2 @@ +bugfixes: +- powershell - Fix issue where setting ANSIBLE_KEEP_REMOTE_FILES fails when using Python 2.6 - https://github.com/ansible/ansible/issues/45490 diff --git a/lib/ansible/plugins/shell/powershell.py b/lib/ansible/plugins/shell/powershell.py index ff62e3a227..784dd69cbd 100644 --- a/lib/ansible/plugins/shell/powershell.py +++ b/lib/ansible/plugins/shell/powershell.py @@ -57,7 +57,7 @@ import re import shlex from ansible.errors import AnsibleError -from ansible.module_utils._text import to_text +from ansible.module_utils._text import to_native, to_text from ansible.plugins.shell import ShellBase @@ -1605,7 +1605,7 @@ class ShellModule(ShellBase): # non-pipelining - cmd_parts = shlex.split(cmd, posix=False) + cmd_parts = shlex.split(to_native(cmd), posix=False) cmd_parts = list(map(to_text, cmd_parts)) if shebang and shebang.lower() == '#!powershell': if not self._unquote(cmd_parts[0]).lower().endswith('.ps1'):