【问题标题】:Terraform GCP unable to run metadata command for windows instance to create a userTerraform GCP 无法为 Windows 实例运行元数据命令来创建用户
【发布时间】:2020-04-08 00:03:01
【问题描述】:

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

`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"
  }
}`

【问题讨论】:

  • 你怎么知道命令没有被执行?有留言记录吗?你看过计算引擎的串口启动吗?如果您从控制台创建计算引擎实例而不使用 Terraform,那么它是否可以工作?
  • 感谢您提供,效果很好!

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


【解决方案1】:

在你的例子中,有一个错字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"
  }
}

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 1970-01-01
      • 2021-08-19
      • 2021-07-18
      • 2020-09-05
      • 2018-09-24
      • 2021-09-26
      相关资源
      最近更新 更多