使用Terraform+Cloudbase-Init设置开放电信云Windows ECS密码失败求助
问题
在开放电信云(Open Telekom Cloud)部署Windows ECS实例时,希望通过Cloudbase-Init在实例启动时设置管理员密码,而非使用密钥对。使用Terraform部署的代码如下:
resource "opentelekomcloud_compute_instance_v2" "windows_ecs" { name = "test-windows" flavor_id = "s3.large.2" image_name = "Enterprise_Windows-Server_2022_STD_amd64_uefi_latest" availability_zone = var.az network { uuid = opentelekomcloud_vpc_subnet_v1.test_subnet.id } security_groups = [opentelekomcloud_networking_secgroup_v2.rdp_sg.name] user_data = base64encode(file("${path.module}/bootstrap-windows.ps1")) }
对应的bootstrap-windows.ps1文件内容:
#ps1 net user "Administrator" "SecurePassword!" net user Administrator /active:yes
实例部署完成后,脚本已运行且实例重启,但设置的密码无法登录Windows实例。此方法在Linux实例上可正常生效,请问问题出在哪里?
解决方案
问题根源在于Windows环境下Cloudbase-Init的运行机制、密码策略以及脚本执行权限的特殊性,具体原因和修复方式如下:
Cloudbase-Init会覆盖自定义密码
开放电信云的官方Windows镜像默认启用了Cloudbase-Init的密码自动生成功能,即便你通过脚本设置了密码,Cloudbase-Init在初始化流程的后期会自动覆盖这个密码,生成随机密码并存储在云平台控制台。要解决这个问题,必须通过Cloudbase-Init的配置元数据,明确禁用密码重置功能并指定管理员密码。脚本执行权限不足
直接通过net user命令设置密码时,脚本可能未以管理员权限执行,导致密码修改操作未真正生效。
正确配置方式
放弃直接执行net user的脚本,改用Cloudbase-Init的配置文件来指定密码:
- 创建
cloudbase-init-config.txt文件,内容如下:
[DEFAULT] username=Administrator password=SecurePassword! disable_password_reset=true enable_automatic_updates=false
- 修改Terraform代码中的
user_data部分,加载该配置文件并编码:
user_data = base64encode(file("${path.module}/cloudbase-init-config.txt"))
如果需要额外执行PowerShell脚本,可以结合Cloudbase-Init的runonce模块,创建userdata.txt配置文件:
[DEFAULT] username=Administrator password=SecurePassword! disable_password_reset=true [runonce] powershell_path=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe command=C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -File C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf\bootstrap-windows.ps1
同时将bootstrap-windows.ps1内容简化为需要的激活命令:
net user Administrator /active:yes # 其他需要执行的自定义命令
额外注意事项
- 设置的密码必须符合Windows默认密码策略(比如长度≥8位、包含大小写字母/数字/特殊字符),否则会设置失败。
- 开放电信云官方Windows镜像已预装并启用Cloudbase-Init服务,无需额外安装。
内容的提问来源于stack exchange,提问作者karki
相关产品推荐
相关产品推荐

