Azure:如何在状态配置中使用自定义模块

问题描述 投票:0回答:1

我创建了一个基于类的 DSC 资源作为 Powershell 模块,并成功将其上传到

Azure Automation
/
Modules
。它有一个绿色图标,似乎添加成功。现在我想在
State Configuration
文件中使用这个模块。所以我创建了这样的配置:

Configuration Temp01 {

    Import-DscResource -ModuleName 'MyModule' -ModuleVersion 1.0.0

    Node 'localhost' {
      MyResource Test01 {
          Param = ...
      }
    }

}

在 Azure 上编译此配置

失败并出现错误:

Exception calling "NewScriptBlock" with "1" argument(s): "At line:3 char:5 + Import-DscResource -ModuleName 'MyModule' -ModuleVersion 1. ... +
~~~~~~~ Could not find the module '<MyModule, 1.0.0>'." (At line:3 char:5 + Import-DscResource -ModuleName 'MyModule' -

我该怎么办?我如何在

State Configuration
中使用我的自定义模块?

azure azure-automation dsc powershell-dsc
1个回答
-1
投票

解决您的问题后,您所遵循的流程和配置设置对我来说很好。检查以下几点可能是冲突的原因。

  • 检查模块是否已完全上传,并检查您正在上传的模块的版本是否与DSC配置模块匹配。
  • ModuleVersion
    属性与您在配置和 Azure 自动化模块中指定的版本匹配。
  • nx
    模块与您的
    mymodule
    一起导入。如果您使用 PowerShell 库,则必须导入它来编译 DSC 资源。 请参阅 MSDoc 了解更多相关信息。

enter image description here

  • 确保正确给出了所定位模块的路径。不要直接传递模块名称,而是提供如图所示的模块路径。

Import-Module -Name 'C:\path\Module.psd1' -ModuleVersion 1.0.0

  • 当您在虚拟机上使用自动化帐户时,请验证目标节点上是否有正确的模块版本。
  • 也请前往
    Virtual machine >> Extensions + applications >> Check the version is matching with your uploaded version

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.