2017-03-09 16 views
0

ARMテンプレートを使用してAzure VMを設定しようとしていますが、DSC設定を実行する前にリブートできるようにVMでローカル設定マネージャを設定する必要があります。私はいつもそうではないが時々働く方法を持っている。 Azure CustomScriptExtensionで次のスクリプトを実行しています。ARMテンプレート経由でDSC設定を実行する前にAzure VM LCMを設定してください

[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')]" 

は他のいずれかがこれを経験していますか?

答えて

0

ローカルコンフィギュレーションマネージャ(LCM)をDSCエクステンションが上書きします。LCMの明示的な設定がない場合は、デフォルトに戻されます。したがって、DSC拡張機能に使用している設定機能で再度設定する必要があります。

Configuration Main 
{ 
    Node localhost 
    { 
    LocalConfigurationManager 
    { 
     RebootNodeIfNeeded = $true 
     ... 
    } 
    # Your other resources 
    ... 
    } 
}´ 
関連する問題