gpt4 book ai didi

azure - 通过来自 terraform 的 VM 扩展自定义脚本安装 powershell Az.Storage 模块

转载 作者:行者123 更新时间:2023-12-02 07:18:00 26 4
gpt4 key购买 nike

我需要通过 terraform VM 扩展 - 自定义脚本在 Azure Windows VM 中安装 Az.Storage 模块。所有其他命令都会执行,但模块安装命令不会执行。资源“azurerm_virtual_machine_extension”“VMextn202”{

  name                 = "avmextn1"
virtual_machine_id = azurerm_windows_virtual_machine.vm.id
publisher = "Microsoft.Compute"
type = "CustomScriptExtension"
type_handler_version = "1.9"
auto_upgrade_minor_version = true
settings = <<SETTINGS
{
"fileUris": ["https://${azurerm_storage_account.Storage.name}.blob.core.windows.net/${azurerm_storage_container.Scripts.name}/${azurerm_storage_blob.BlobVMExt.name}"],
"commandToExecute": "powershell -ExecutionPolicy Unrestricted -file VMExt.ps1"
}
SETTINGS
}

VMExt.ps1的内容:

Get-Service | Out-File "C:\Users\Simulator-User\service.txt" -Force
Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force
Install-Module -Name Az.Storage -Force -AllowClobber -SkipPublisherCheck
Install-Module -Name Az.Storage -Force -AllowClobber -SkipPublisherCheck

这里,第一个命令执行(service.txt 正在虚拟机中创建)第二个 cmd 执行(软件包提供程序正在虚拟机中安装)但是与模块安装相关的下一个命令不会被执行(无法从 Get-InstalledModules 中找到模块 - 模块未安装在 VM 中)。

在 Azure 门户中手动创建 VM 扩展 - 自定义脚本时也会发生同样的情况。

任何建议都会对我有帮助。

最佳答案

就我而言,问题是该模块安装在一个范围内,因此当 RDP 连接到虚拟机时我看不到它。

所以现在我明确设置范围

Install-Module -Name [MODULE NAME] -Scope AllUsers -Force

然后,当我使用 RDP 然后使用 Get-InstalledModules 时,该模块可用

关于azure - 通过来自 terraform 的 VM 扩展自定义脚本安装 powershell Az.Storage 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73218000/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com