我试图找出正确的方法来传递terraform变量值到我的PowerShell脚本。
当我尝试使用Microsoft扩展部署脚本时,脚本失败。下面是我的Terraform脚本:
resource "azurerm_virtual_machine_extension" "test" {
name = "testt"
virtual_machine_id = azurerm_virtual_machine.example.id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.9"
protected_settings = <<SETTINGS
{
"commandToExecute": "powershell -command \"[System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String('${base64encode(file("shell.ps1"))}')) | Out-File -filepath shell.ps1\" && powershell -ExecutionPolicy Unrestricted -File shell.ps1 -value1 ${var.value1} -value2 ${var.value2}"
}
SETTINGS
}
下面是Powershell脚本:
param(
[string]$value1,
[string]$value2
)
我遇到的错误:
“message”:“参数:术语“param”不能识别为cmdlet、函数、脚本文件或可操作程序的名称。请检查\r\n名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。
2条答案
按热度按时间elcex8rz1#
你试过这样的东西吗?
vxqlmq5t2#
在PS脚本中: