[英]How do I run a Powershell7 Script upon creation of a Windows VM Resource with Terraform (Azure)
I have an azure windows VM and I want to be able to run a powershell 7 script (powershell 7+ 100% required) upon creation.我有一个 azure windows VM,我希望能够在创建时运行 powershell 7 脚本(需要 powershell 7+ 100%)。 The problem is that none of the vm's come with powershell 7. Do I have any options?问题是 vm 都没有附带 powershell 7。我有什么选择吗? This needs to be fully automated through terraform.这需要通过 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
]
}
This might be possiblities you are using an old SKU or image would suggest you upgrade your SKU to sku = "2019-Datacenter"
or sku = "2016-Datacenter"
这可能是您使用旧 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
]
}
You can check my this thread which i have answered long back regarding how to install a extenion on Azure Virtual Machine您可以查看我很久以前就如何在 Azure 虚拟机上安装扩展的这个帖子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.