【发布时间】:2016-04-26 12:13:30
【问题描述】:
从自定义 AMI 创建 ec2 实例时,我尝试从用户数据框运行 powershell 脚本。在创建 ami 之前,我已经在配置上启用了用户数据执行。
这是我放入用户数据的内容
<powershell>
c:\scripts\github-download.ps1 someuser somepassword
</powershell>
它调用的脚本如下所示。
Param($gituser, $gitpass)
C:\Users\Administrator\AppData\Local\GitHub\shell.ps1
git clone https://"$gituser":"$gitpass"@github.com/somegitrepo |out-null
我不知道为什么这不起作用。我在这里做错了吗?非常感谢任何帮助。
【问题讨论】:
-
没有足够的细节来真正解决这个问题。您如何将用户数据传递到实例中(控制台/CLI?它是 base 64 编码的吗?所有细节在这里都会有所帮助。)?实例是否配置为与 Internet 通信?您是否尝试在此脚本中将 ExecutionPolicy 设置为 RemoteSigned 以确保它可以执行其他脚本?您是否检查了
C:\Program Files\Amazon\Ec2ConfigService\Logs\Ec2ConfigLog.txt的 ec2 配置日志以获取任何详细信息?您是否尝试过登录脚本本身? -
也许不要
|out-null这个命令,这样你就可以看到发生了什么?你有一套工作的 git 二进制文件吗? -
您有机会尝试我的答案吗?
-
@RodrigoM 如果您没有从该 OP 中获得解决方案,我建议您将出色的答案移至一个新的规范问题,以解决 EC2 上的 powershell 用户数据问题。 OP 没有给我们足够的细节,这不是一件微不足道/无关的事情,我讨厌你的好答案永远不被接受。
-
好建议!会感谢安东尼
标签: powershell amazon-web-services amazon-ec2