# AWX - AWS SSM Connectivity to Windows Servers

**URL:** <https://forum.ansible.com/t/awx-aws-ssm-connectivity-to-windows-servers/44489>\
**Category:** Get Help\
**Tags:** windows, awx, aws, ee\
**Created:** [September 15, 2025, 3:07pm UTC](https://forum.ansible.com/t/awx-aws-ssm-connectivity-to-windows-servers/44489 "2025-09-15T15:07:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![prateektl](https://sea1.discourse-cdn.com/ansible/user_avatar/forum.ansible.com/prateektl/32/8985_2.png) [@prateektl](https://forum.ansible.com/u/prateektl)\
**Post date:** [September 15, 2025, 3:07pm UTC](https://forum.ansible.com/t/awx-aws-ssm-connectivity-to-windows-servers/44489/1 "2025-09-15T15:07:01Z")

</div>

Overview of the issue:  
In AWX, i have a job template and inventory(windows hosts) when executed we observer an intermittent issue with the task response from the server.

Explanation:  
we have created a custom container image [Execution-Environment] with necessary configuration to make AWS SSM connectivity possible from AWX to target hosts. These EE are stored in jfrog and pulled when the job is launched. Now i have a simple YAML playbook to run against the windows server. But sometimes, we dont get the response back from the task when the playbook is running. Its intermittent in nature. Our job template run’s on the Execution node.

We have tried one more approach that is, we logged into the Execution node (which is a linux server) and switched to user AWX, logged into the container (AWX Execution enviornment) created the template and inventory and ran it. It worked all the time without any issue.

So our conclusion was, from the network standpoint with respect to AWS SSM, there is no issue. But one when the job is triggered via AWX, sometimes we dont get response back on the Logs.

Playbook:

- name: Fetch local user information including enabled status  
hosts: all  
gather\_facts: no  
tasks:
  - name: Get local users with enabled status in JSON format  
win\_shell: |  
$users = Get-LocalUser | Select-Object Name, Enabled  
$result = @{  
users = $users  
}  
$result | ConvertTo-Json  
register: script\_output

  - name: Show PowerShell script output  
debug:  
msg: “{{ script\_output.stdout | from\_json }}”

Inventory:  
i-1234567890 ansible\_connection=amazon.aws.aws\_ssm ansible\_aws\_ssm\_profile=ssm-assume-role-987654321 ansible\_aws\_ssm\_region=us-east-1 ansible\_shell\_type=powershell ansible\_aws\_ssm\_bucket\_name=s3\_bucket-us-east-1  
i-1234567891 ansible\_connection=amazon.aws.aws\_ssm ansible\_aws\_ssm\_profile=ssm-assume-role-876543219 ansible\_aws\_ssm\_region=us-east-1 ansible\_shell\_type=powershell ansible\_aws\_ssm\_bucket\_name=s3\_bucket-us-east-1  
i-1234567892 ansible\_connection=amazon.aws.aws\_ssm ansible\_aws\_ssm\_profile=ssm-assume-role-76543219 ansible\_aws\_ssm\_region=us-east-1 ansible\_shell\_type=powershell ansible\_aws\_ssm\_bucket\_name=s3\_bucket-us-east-1
