AWS EC2 User Data多条PowerShell命令仅第一条执行如何解决
问题原因定位
- 工作路径不匹配:EC2 User Data的PowerShell脚本默认以SYSTEM权限执行,默认工作目录为
C:\Windows\System32,直接下载v.exe会存入该目录,后续命令调用C:\\Users\\Administrator\\v.exe会因找不到文件执行失败。 - 路径转义冗余:PowerShell场景下不需要用双反斜杠转义路径,额外的转义符可能触发路径识别错误。
- 缺少错误控制配置:无错误终止规则时,部分非终止类错误不会抛出明确提示,很难定位故障点。
修正后的完整User Data配置
<powershell> # 开启错误自动终止,方便定位故障 $ErrorActionPreference = 'Stop' # 可选:开启执行日志记录,启动后可查看C:\userdata-log.txt排查问题 Start-Transcript -Path C:\userdata-log.txt -Append # 明确切换工作目录到Administrator文件夹 Set-Location "C:\Users\Administrator" # 安装.NET Framework Install-WindowsFeature Net-Framework-Core -source \\network\share\sxs -ErrorAction Stop # 下载安装包到当前工作目录 curl.exe --output v.exe --url https://cdn.vmix.com/download/vmix24.exe # 执行静默安装 Start-Process .\v.exe -ArgumentList "/VERYSILENT" -Wait -NoNewWindow </powershell> <persist>true</persist>
额外验证建议
- 确认实例安全组、网络ACL允许出站访问443端口,保证安装包可以正常下载。
- 若执行仍失败,直接查看日志文件
C:\userdata-log.txt即可定位具体故障步骤。
内容的提问来源于stack exchange,提问作者Tarek Jurdi
相关产品推荐
相关产品推荐

