我有一个名为Windows_network_adp.bat的批处理脚本。内容为:
<script>
netsh interface ipv4 set address name="Ethernet 3" static 10.*.*.* 255.*.*.*
</script>
它基本上是在Windows EC2的第二个网卡上添加一个静态IP。如果手动将内容粘贴到AWS Console用户数据部分,则此批处理文件可以工作。我想让它和terraform一起自动进入。
到目前为止,我已经尝试了以下操作:
1日试
user_data_base64 = base64encode(<<EOF
<script>
netsh interface ipv4 set address name="Ethernet 3" static 10.*.*.* 255.*.*.*
</script>
EOF
)
二试
user_data_base64 = base64encode(file("build/Windows_network_adp.bat"))
在地形上没有错误。但是当我远程进入Windows ec2时,网络适配器仍然设置为DHCP,并且我的静态条目没有应用。
感谢您的帮助。
So Just to Update问题解决了
在这个实例中如何处理用户数据的语法如下所示。不幸的是,问题是第二个接口是在Windows EC2之后在terraform中创建的,因此我的用户数据在第二个网卡上配置一个静态IP是不相关的,因为它还没有创建。用户数据不需要base 64编码,因为我有一个powershell脚本现在正在做另一个功能。关于批处理脚本的用户数据信息并不多,所以我希望这能帮助其他人,防止他们像我们一样掉进兔子洞。
user_data = <<EOF
<script>
netsh interface ip set address "Ethernet 3" static "10.*.*.*" "*.*.*.*"
</script>
EOF