簡體   English   中英

帶有 Google Cloud Platform 上 Windows VM 實例參數的 PowerShell 腳本

[英]PowerShell script with parameter for Windows VM instance on Google Cloud Platform

我正在嘗試通過 terraform 在 Google Cloud 上部署 Windows VM。 VM 正在部署,我可以使用 windows-startup-script-url 執行 PowerShell 腳本。

通過這種方法,我只能使用已經存儲在 Google Storage 中的腳本。 如果腳本有參數/變量,那么如何傳遞該參數,任何線索!

provider "google" {
  project = "my-project"
  region  = "my-location"
  zone    = "my-zone"
}

resource "google_compute_instance" "default" {
  name         = "my-name"
  machine_type = "n1-standard-2"
  zone         = "my-zone"

  boot_disk {
    initialize_params {
      image = "windows-cloud/windows-2019"
    }
  }

  metadata {
    windows-startup-script-url = "gs://<my-storage>/<my-script.ps1>"
  }


  network_interface {
    network = "default"

    access_config {

    }
  }

  tags = ["http-server", "windows-server"]
}


resource "google_compute_firewall" "http-server" {
  name    = "default-allow-http"
  network = "default"

  allow {
    protocol = "tcp"
    ports    = ["80"]
  }


  source_ranges = ["0.0.0.0/0"]
  target_tags   = ["http-server"]
}

resource "google_compute_firewall" "windows-server" {
  name    = "windows-server"
  network = "default"

  allow {
    protocol = "tcp"
    ports    = ["3389"]
  }

  source_ranges = ["0.0.0.0/0"]
  target_tags   = ["windows-server"]
}

output "ip" {
  value = "${google_compute_instance.default.network_interface.0.access_config.0.nat_ip}"
}

Terraform 不需要從 GCS 存儲桶中提取啟動腳本。

此處的示例顯示:

 }

  metadata = {
    foo = "bar"
  }

  metadata_startup_script = "echo hi > /test.txt"

  service_account {
    scopes = ["userinfo-email", "compute-ro", "storage-ro"]
  }
}

更多關於 GCE 和 Powershell 腳本的官方文檔在這里

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM