Amazon web services 我的userdata脚本未从ssm获取参数

Amazon web services 我的userdata脚本未从ssm获取参数,amazon-web-services,amazon-ec2,Amazon Web Services,Amazon Ec2,“我的用户数据脚本”设置为从windows实例上的System Manager参数存储中提取参数,它具有正确的权限,但脚本的执行情况不符合预期 <powershell> choco install -y awscli choco install -y jq aws ssm get-parameter --name myParam --output json | jq -r .Parameter.Value | New-Item -Path "c:\" -Name

“我的用户数据脚本”设置为从windows实例上的System Manager参数存储中提取参数,它具有正确的权限,但脚本的执行情况不符合预期

<powershell>
choco install -y awscli
choco install -y jq
aws ssm get-parameter --name myParam --output json | jq -r .Parameter.Value | New-Item -Path "c:\" -Name "myParam" -ItemType "file"
</powershell>
<persist>true</persist>

choco安装-y awscli
choco安装-y jq
aws ssm get参数--name myParam--输出json | jq-r.parameter.Value |新项-路径“c:\”-名称“myParam”-项类型“文件”
真的
但是,在启动实例时,文件显示在C:\drive中,但它是空的,因此问题是运行was ssm get parameter命令。我在启动windows实例后运行了该命令,它正确地下拉了参数,但在用户数据期间,它没有


有人知道它为什么不工作吗?

您是如何提供IAM凭据以供命令使用的?例如,是通过凭据文件还是通过分配给实例的IAM角色?嗨,IAM角色是在Cloudformation模板中分配的
C:\ProgramData\Amazon\EC2 Windows\Launch\Log\UserdataExecution.Log
的内容是什么?请参阅:我认为我已经确定了问题所在,我认为正在运行choco安装,然后在软件包完成安装之前运行用户数据脚本的其余部分。我尝试过使用Start Process-Wait命令,但到目前为止没有任何效果。日志显示,在运行“aws ssm”时,未找到命令“aws”,这表明它正在安装软件包之前尝试执行此操作。