Risoluzione degli errori delle estensioni di macchina virtuale Windows di AzureTroubleshooting Azure Windows VM extension failures

Panoramica dei modelli di Gestione risorse di AzureOverview of Azure Resource Manager templates

I modelli di Azure Resource Manager consentono di specificare in modo dichiarativo l'infrastruttura IaaS di Azure in linguaggio JSON, definendo le dipendenze tra le risorse.Azure Resource Manager templates allows you to declaratively specify the Azure IaaS infrastructure in JSON language by defining the dependencies between resources.

Per altre informazioni sulla creazione di modelli per l'uso delle estensioni, vedere Authoring extension templates (Creazione dei modelli di estensione).See Authoring extension templates to learn more about authoring templates for using extensions.

Questo articolo illustra la risoluzione dei problemi relativi ad alcuni degli errori più comuni delle estensioni della macchina virtuale.In this article we'll learn about troubleshooting some of the common VM extension failures.

Visualizzazione dello stato dell'estensioneViewing extension status

I modelli di Azure Resource Manager possono essere eseguiti da Azure PowerShell.Azure Resource Manager templates can be executed from Azure PowerShell. Una volta che il modello viene eseguito, è possibile visualizzare lo stato dell'estensione da Esplora risorse di Azure o dagli strumenti da riga di comando.Once the template is executed, the extension status can be viewed from Azure Resource Explorer or the command line tools.

Di seguito è fornito un esempio: Here is an example:

Azure PowerShell:Azure PowerShell:

  Get-AzureRmVM -ResourceGroupName $RGName -Name $vmName -Status

Di seguito è riportato l'output di esempio:Here is the sample output:

  Extensions:  {
  "ExtensionType": "Microsoft.Compute.CustomScriptExtension",
  "Name": "myCustomScriptExtension",
  "SubStatuses": [
    {
      "Code": "ComponentStatus/StdOut/succeeded",
      "DisplayStatus": "Provisioning succeeded",
      "Level": "Info",
      "Message": "    Directory: C:\\temp\\n\\n\\nMode                LastWriteTime     Length Name
          \\n----                -------------     ------ ----                              \\n-a---          9/1/2015   2:03 AM         11
          test.txt                          \\n\\n",
                  "Time": null
      },
    {
      "Code": "ComponentStatus/StdErr/succeeded",
      "DisplayStatus": "Provisioning succeeded",
      "Level": "Info",
      "Message": "",
      "Time": null
    }
}

]]

Risoluzione degli errori delle estensioniTroubleshooting extension failures

Eseguire nuovamente l'estensione nella macchina virtualeRe-running the extension on the VM

Se si eseguono gli script nella macchina virtuale usando l'estensione script personalizzato, è possibile riscontrare in alcuni casi un errore in cui la creazione della macchina virtuale è riuscita, ma lo script ha avuto esito negativo.If you are running scripts on the VM using Custom Script Extension, you could sometimes run into an error where VM was created successfully but the script has failed. In queste condizioni, il metodo consigliato per risolvere il problema consiste nel rimuovere l'estensione e eseguire nuovamente il modello.Under these conditons, the recommended way to recover from this error is to remove the extension and rerun the template again. Nota: In futuro, questa funzionalità potrebbe essere migliorata in modo da eliminare la necessità di disinstallazione dell'estensione.Note: In future, this functionality would be enhanced to remove the need for uninstalling the extension.

Rimuovere l'estensione da Azure PowerShellRemove the extension from Azure PowerShell

Remove-AzureRmVMExtension -ResourceGroupName $RGName -VMName $vmName -Name "myCustomScriptExtension"

Una volta rimossa l'estensione, il modello può essere eseguito nuovamente per eseguire gli script nella macchina virtuale.Once the extension has been removed, the template can be re-executed to run the scripts on the VM.