Terraform GCP无法运行Windows实例创建用户的元数据命令

时间:2019-12-15 03:59:35

标签: powershell google-cloud-platform terraform terraform-provider-gcp

尝试创建可用于连接移动某些文件的用户,当我尝试使用元数据资源创建实例时尝试创建用户时,创建成功,但未执行元数据命令。

`resource "google_compute_instance" "win-dev-instance" {
 project = "my_pro_1"
 zone = "eu-west2-b"
 name = "win-dev-instance"
 machine_type = "f1-micro"
 boot_disk {
   initialize_params {
     image = "windows-server-2016-r2-dc-v20191210"
   }
 }
 network_interface {
   network = "default"
   access_config {
   }
 }
 metadata {
    windows-startup-script-cmd = "net user /add devuser PASSWORD & net localgroup adminstrators devuser /add"
  }
}`

2 个答案:

答案 0 :(得分:2)

在您的示例中,有一个错字adminstrators,应该是administrators

解决方案

resource "google_compute_instance" "win-dev-instance" {
  project      = "my_pro_1"
  zone         = "eu-west2-b"
  name         = "win-dev-instance"
  machine_type = "n1-standard-2"
  boot_disk {
    initialize_params {
      image = "windows-server-2016-dc-v20191210"
    }
  }
  network_interface {
    network = "default"
    access_config {}
  }
  metadata = {
    windows-startup-script-cmd = "net user /add devuser Abc123123 & net localgroup administrators devuser /add"
  }
}

答案 1 :(得分:0)

我测试了基于 windows-startup-script-cmd 的解决方案但没有成功。此外,每次实例重启时都会执行此脚本。 我认为最好的解决方案是使用带有 windows-keys 键的元数据,如 here 所述。解决方案是生成一个双密钥,一个由 gcp 使用来生成密码,第二个在接收时解密