【问题标题】:Configure Azure VM LCM before running DSC Configuration via ARM template在通过 ARM 模板运行 DSC 配置之前配置 Azure VM LCM
【发布时间】:2017-03-09 15:02:31
【问题描述】:

我正在尝试通过 ARM 模板配置 Azure VM,并且需要在 VM 上设置本地配置管理器以允许在运行 DSC 配置之前重新启动。我有一种有时有效但并非总是有效的方法。我正在通过 Azure CustomScriptExtension 运行以下脚本

[DscLocalConfigurationManager()]
Configuration ConfigureLcm {
  Node localhost {
    Settings {
        RebootNodeIfNeeded   = $true
    }
  }
}

if (!(Get-DscLocalConfigurationManager).RebootNodeIfNeeded) {
    ConfigureLcm -OutputPath C:\Config
    Set-DscLocalConfigurationManager -Path C:\Config
}

然后是 DSC 扩展。似乎 CustomScriptExtension 有效,但随后 DSC 扩展可能会将 RebootNodeIfNeeded 更改回 false。 DSC 扩展依赖于 CustomScriptExtension。

{
  "type": "extensions",
  "name": "DSC",
  "apiVersion": "2015-06-15",
  "location": "[resourceGroup().location]",
  "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'))]",
    "[concat('Microsoft.Compute/virtualMachines/', parameters('vmName'),  '/extensions/configlcm')]"

有没有其他人经历过这种情况?

【问题讨论】:

    标签: powershell azure dsc


    【解决方案1】:

    DSC 扩展将覆盖本地配置管理器 (LCM),如果您没有明确的 LCM 设置,它们将恢复为默认设置。因此,您需要在您用于 DSC 扩展的配置功能中再次设置它:

    Configuration Main
    {
      Node localhost
      {
        LocalConfigurationManager
        {
          RebootNodeIfNeeded = $true
          ...
        }
        # Your other resources
        ...
      }
    }´
    

    【讨论】:

      猜你喜欢
      • 2020-09-01
      • 2020-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多