来自本地脚本的 Terraform Azure VM 扩展自定义脚本

Terraform Azure VM Extension Custom Script from Local Script

我正在尝试通过 Terraform 部署带有 VM 扩展的 Azure Windows VM,它将为 Windows VM 安装 ADDS 角色。

我有一个用于安装的 Powershell 脚本文件,名为 install_adds.ps1 来自我的本地机器

VM Extension的Terraform文件如下:

resource "azurerm_virtual_machine_extension" "main" {
  name                 = "extensionTest"
  virtual_machine_id   = azurerm_virtual_machine.main.id
  publisher            = "Microsoft.Azure.Extensions"
  type                 = "CustomScript"
  type_handler_version = "2.0"

  settings = <<SETTINGS
    {
        "commandToExecute": "powershell.exe ./install_adds.ps1"
    }
SETTINGS
}

我已经部署了 VM Extension Terraform 文件但没有工作

我认为我的 Terraform 文件语法错误并且 Windows 没有 运行 我的 PowerShell 脚本。

有什么方法可以通过 Terraform VM 扩展文件 运行 我的本地 PowerShell 脚本?

根据您发布的架构,您可能试图在基于 Windows 的 VM 上部署错误的客户脚本扩展(Linux VM 的 CSE)。

以下扩展架构根据 OS:

可以使用的内容

Linux:

"publisher": "Microsoft.Azure.Extensions",
"type": "CustomScript",
"typeHandlerVersion": "2.1",

Windows:

    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.10",

您曾在 Windows:

publisher            = "Microsoft.Azure.Extensions"
type                 = "CustomScript"
type_handler_version = "2.0"