如何使用Terraform local exec将命名参数传递给powershell脚本?

如何使用Terraform local exec将命名参数传递给powershell脚本?,terraform,terraform-provider-azure,Terraform,Terraform Provider Azure,试图找出使用terraform local exec将命名参数传递给我的powershell脚本的正确方法 在这种情况下,我是否需要引用定界参数 provisioner "local-exec" { command = "powershell -file ../BindCert.ps1 -certString '${var.cert_string_b64}' -certPassword '${var.cert_password}' -certThumbprint '${var.cert_

试图找出使用terraform local exec将命名参数传递给我的powershell脚本的正确方法

在这种情况下,我是否需要引用定界参数

provisioner "local-exec" {
    command = "powershell -file ../BindCert.ps1 -certString '${var.cert_string_b64}' -certPassword '${var.cert_password}' -certThumbprint '${var.cert_thumbprint}' -certName '${var.cert_name}'"
  }
视窗10
Powershell 5.1

对于您的问题,您可以按如下方式更改代码:

provisioner "local-exec" {
        command = "powershell -file ../BindCert.ps1 -certString ${var.cert_string_b64} -certPassword ${var.cert_password} -certThumbprint ${var.cert_thumbprint} -certName ${var.cert_name}"
    }
我会给你看我做的测试

PowerShell脚本:

param([String]$rgName = "rgName")
Get-AzResourceGroup -Name $rgName
地形代码:

variable "test" {
    type = "string"
    default = "charles"
}

resource "null_resource" "test" {
    provisioner "local-exec" {
        command = "PowerShell -file ./test.ps1 -rgName ${var.test}"
    }
}
结果的屏幕截图:


有关详细信息,请参阅。

谢谢。。。在字符串param值具有类似“West US”的手臂位置嵌入空间之前,这种方法效果良好。