获取 UserData 并将其保存在文本文件中
Get UserData and save it in text file
我正在编写脚本,我必须在其中保存 ec2 实例 'UserData' 并将其保存到文本文件。
条件 1。我不想登录到每个实例并从那里拉出,因为实例可能不在 'running' 状态。所以我需要在不登录 ec2 实例的情况下完成它
条件2。我需要从powershell 脚本中执行。
我找到了 powershell cmdlet“(Get-EC2InstanceAttribute -InstanceId $tid -Attribute userData).UserData”,其中 $tid 是实例 ID。但我不知道这个命令给出的输出格式。 AWS CLI 也提供了这种格式。
您获得的 "weird" 格式是用户数据的 base64 编码。
无法使用 powershell,但如果这有任何帮助,在 linux 中,您可以获得人类可读的用户数据,如下所示:
user_data=$(aws ec2 describe-instance-attribute \
--instance-id i-xxxxxxxxxxxxxx \
--attribute userData \
--query 'UserData' \
--output text)
base64 -d <<< ${user_data}
在 Windows.
中应该可以做类似的事情
我正在编写脚本,我必须在其中保存 ec2 实例 'UserData' 并将其保存到文本文件。
条件 1。我不想登录到每个实例并从那里拉出,因为实例可能不在 'running' 状态。所以我需要在不登录 ec2 实例的情况下完成它
条件2。我需要从powershell 脚本中执行。
我找到了 powershell cmdlet“(Get-EC2InstanceAttribute -InstanceId $tid -Attribute userData).UserData”,其中 $tid 是实例 ID。但我不知道这个命令给出的输出格式。 AWS CLI 也提供了这种格式。
您获得的 "weird" 格式是用户数据的 base64 编码。
无法使用 powershell,但如果这有任何帮助,在 linux 中,您可以获得人类可读的用户数据,如下所示:
user_data=$(aws ec2 describe-instance-attribute \
--instance-id i-xxxxxxxxxxxxxx \
--attribute userData \
--query 'UserData' \
--output text)
base64 -d <<< ${user_data}
在 Windows.
中应该可以做类似的事情