繁体   English   中英

如何在使用 Terraform (Azure) 创建 Windows VM 资源时运行 Powershell7 脚本

[英]How do I run a Powershell7 Script upon creation of a Windows VM Resource with Terraform (Azure)

我有一个 azure windows VM,我希望能够在创建时运行 powershell 7 脚本(需要 powershell 7+ 100%)。 问题是 vm 都没有附带 powershell 7。我有什么选择吗? 这需要通过 terraform 实现完全自动化。

resource "azurerm_virtual_machine_extension" "your-extension" {
  name                 = "${azurerm_windows_virtual_machine.vm[0].name}-extension-name"
  virtual_machine_id   = azurerm_windows_virtual_machine.vm[0].id
  publisher            = "Microsoft.Compute"
  type                 = "CustomScriptExtension"
  type_handler_version = "1.9"

  protected_settings = <<SETTINGS
  {
   "commandToExecute": "powershell7 DO-SOMETHING"
  }
  SETTINGS

  depends_on = [
    azurerm_windows_virtual_machine.vm
  ]
}

这可能是您使用旧 SKU 的可能性,或者图像会建议您将 SKU 升级到sku = "2019-Datacenter"sku = "2016-Datacenter"

 source_image_reference {
    publisher = "MicrosoftWindowsServer"
    offer     = "WindowsServer"
    sku       = "2016-Datacenter"
    version   = "latest"
  }

resource "azurerm_virtual_machine_extension" "example" {
  name                 = "hostname2"
  virtual_machine_id   = azurerm_windows_virtual_machine.example.id
  publisher            = "Microsoft.Compute"
  type                 = "CustomScriptExtension"
  type_handler_version = "1.4"

  settings = <<SETTINGS
    {
        "commandToExecute": "powershell.exe -Command \"${local.powershell_command}\""
    }
SETTINGS
  tags = {
    environment = "Production"
  }

  depends_on = [
    azurerm_windows_virtual_machine.example
  ]
}

您可以查看我很久以前就如何在 Azure 虚拟机上安装扩展的这个帖子

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM