Estensioni e funzionalità della macchina virtuale per Windows

Le estensioni macchina virtuale di Azure sono piccole applicazioni che eseguono attività di configurazione e automazione post-distribuzione nelle macchine virtuali di Azure. Ad esempio, se una macchina virtuale richiede l'installazione software, la protezione antivirus o la possibilità di eseguire uno script al suo interno, è possibile usare un'estensione di macchina virtuale.

È possibile eseguire le estensioni di macchine virtuali di Azure usando l'interfaccia della riga di comando di Azure, PowerShell, i modelli di Azure Resource Manager (modelli arm) e i portale di Azure. È possibile aggregare le estensioni con una nuova distribuzione di macchine virtuali o eseguirle in qualsiasi sistema esistente.

Questo articolo offre una panoramica delle estensioni della macchina virtuale di Azure, dei prerequisiti per l'uso e indicazioni su come rilevare, gestire e rimuoverle. Questo articolo fornisce informazioni generalizzate perché sono disponibili molte estensioni della macchina virtuale. Ognuno ha una configurazione potenzialmente univoca e una propria documentazione.

Casi d'uso ed esempi

Ogni estensione di macchina virtuale di Azure ha un caso d'uso specifico. Tra gli esempi sono inclusi:

Oltre alle estensioni specifiche del processo, è disponibile un'estensione Script personalizzato per le macchine virtuali Linux e Windows. L'estensione script personalizzato per Windows consente l'esecuzione di qualsiasi script di PowerShell in una macchina virtuale. Gli script personalizzati sono utili per la progettazione di distribuzioni di Azure che richiedono una configurazione in aggiunta a quella offerta dagli strumenti nativi di Azure.

Prerequisiti

Agente di macchine virtuali di Azure

Per gestire l'estensione nella macchina virtuale, è necessario che sia installato l'agente di macchine virtuali di Azure per Windows (detto anche agente guest Windows). Alcune estensioni individuali hanno prerequisiti, ad esempio l'accesso alle risorse o alle dipendenze.

L'agente di macchine virtuali di Azure gestisce le interazioni tra una macchina virtuale di Azure e il controller di infrastruttura di Azure. L'agente è responsabile di molti aspetti funzionali della distribuzione e della gestione delle macchine virtuali di Azure, tra cui l'esecuzione di estensioni macchina virtuale.

L'agente di macchine virtuali di Azure è preinstallato nelle immagini Azure Marketplace. Può anche essere installato manualmente nei sistemi operativi supportati.

L'agente viene eseguito su più sistemi operativi. Tuttavia, il framework delle estensioni ha un limite per i sistemi operativi usati dalle estensioni. Alcune estensioni non sono supportate in tutti i sistemi operativi e potrebbero generare codice di errore 51 ("sistema operativo non supportato"). Vedere la documentazione della singola estensione per informazioni sul supporto.

Accesso alla rete

I pacchetti di estensione vengono scaricati dal repository dell'estensione Archiviazione di Azure. I caricamenti dello stato dell'estensione vengono pubblicati in Archiviazione di Azure.

Se si usa una versione supportata dell'agente di macchine virtuali di Azure, non è necessario consentire l'accesso a Archiviazione di Azure nell'area della macchina virtuale. È possibile usare l'agente per reindirizzare la comunicazione al controller di infrastruttura di Azure per le comunicazioni degli agenti (funzionalità HostGAPlugin tramite il canale con privilegi nell'indirizzo IP privato 168.63.129.16). Se si usa una versione non supportata dell'agente, è necessario consentire l'accesso in uscita a Archiviazione di Azure in tale area dalla macchina virtuale.

Importante

Se è stato bloccato l'accesso alla versione 168.63.129.16 usando il firewall guest o usando un proxy, le estensioni hanno esito negativo anche se si usa una versione supportata dell'agente o l'accesso in uscita è stato configurato. Sono necessarie le porte 80, 443 e 32526.

Gli agenti possono essere usati solo per caricare i pacchetti di estensioni e lo stato della creazione di report. Ad esempio, se un'installazione dell'estensione deve scaricare uno script da GitHub (estensione script personalizzato) o deve accedere a Archiviazione di Azure (Backup di Azure), è necessario aprire porte del firewall o del gruppo di sicurezza di rete aggiuntive. Le estensioni diverse hanno requisiti diversi, perché sono applicazioni a loro diritto. Per le estensioni che richiedono l'accesso a Archiviazione di Azure o Azure Active Directory, è possibile consentire l'accesso usando i tag del servizio NSG di Azure.

L'agente di macchine virtuali di Azure non supporta il server proxy per reindirizzare le richieste di traffico dell'agente. Ciò significa che l'agente di macchine virtuali di Azure si basa sul proxy personalizzato (se disponibile) per accedere alle risorse su Internet o nell'host tramite IP 168.63.129.16.

Individuare le estensioni della macchina virtuale

Molte estensioni di macchina virtuale sono disponibili per l'uso con le macchine virtuali di Azure. Per visualizzare un elenco completo usare Get-AzVMExtensionImage. L'esempio seguente elenca tutte le estensioni disponibili nella posizione WestUS:

Get-AzVmImagePublisher -Location "WestUS" |
Get-AzVMExtensionImageType |
Get-AzVMExtensionImage | Select Type, Version

Eseguire le estensioni della macchina virtuale

Le estensioni macchina virtuale di Azure vengono eseguite in macchine virtuali esistenti. Ciò è utile quando è necessario apportare modifiche alla configurazione o ripristinare la connettività in una macchina virtuale già distribuita. Le estensioni della macchina virtuale possono anche essere raggruppate con le distribuzioni di modelli di Resource Manager. Usando le estensioni con i modelli di Resource Manager, è possibile distribuire e configurare macchine virtuali di Azure senza intervento post-distribuzione.

È possibile usare i metodi seguenti per eseguire un'estensione in una macchina virtuale esistente.

PowerShell

Molti comandi di PowerShell vengono utilizzati per l'esecuzione di estensioni singole. Per visualizzare un elenco, usare Get-Command e applicare il filtro Estensione:

Get-Command Set-Az*Extension* -Module Az.Compute

Questo comando fornisce un output simile al seguente:

CommandType     Name                                          Version    Source
-----------     ----                                          -------    ------
Cmdlet          Set-AzVMAccessExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMADDomainExtension                     4.5.0      Az.Compute
Cmdlet          Set-AzVMAEMExtension                          4.5.0      Az.Compute
Cmdlet          Set-AzVMBackupExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMBginfoExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMChefExtension                         4.5.0      Az.Compute
Cmdlet          Set-AzVMCustomScriptExtension                 4.5.0      Az.Compute
Cmdlet          Set-AzVMDiagnosticsExtension                  4.5.0      Az.Compute
Cmdlet          Set-AzVMDiskEncryptionExtension               4.5.0      Az.Compute
Cmdlet          Set-AzVMDscExtension                          4.5.0      Az.Compute
Cmdlet          Set-AzVMExtension                             4.5.0      Az.Compute
Cmdlet          Set-AzVMSqlServerExtension                    4.5.0      Az.Compute
Cmdlet          Set-AzVmssDiskEncryptionExtension             4.5.0      Az.Compute

Nell'esempio seguente viene usata l'estensione Script personalizzato per scaricare uno script da un repository GitHub nella macchina virtuale di destinazione e quindi eseguire lo script:

Set-AzVMCustomScriptExtension -ResourceGroupName "myResourceGroup" `
    -VMName "myVM" -Name "myCustomScript" `
    -FileUri "https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1" `
    -Run "Create-File.ps1" -Location "West US"

Nell'esempio seguente viene usata l'estensione VMAccess per reimpostare la password amministrativa di una macchina virtuale Windows a una password temporanea. Dopo aver eseguito questo codice, è necessario reimpostare la password al primo accesso.

$cred=Get-Credential

Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myVMAccess" `
    -Location WestUS -UserName $cred.GetNetworkCredential().Username `
    -Password $cred.GetNetworkCredential().Password -typeHandlerVersion "2.0"

È possibile usare il comando Set-AzVMExtension per avviare qualsiasi estensione della macchina virtuale.

Portale di Azure

È possibile applicare estensioni vm a una macchina virtuale esistente tramite il portale di Azure. Selezionare la macchina virtuale nel portale, selezionare Estensioni e quindi selezionare Aggiungi. Scegliere l'estensione desiderata dall'elenco delle estensioni disponibili e seguire le istruzioni della procedura guidata.

L'esempio seguente illustra l'installazione dell'estensione Microsoft Antimalware dal portale di Azure:

Screenshot of the dialog for installing the Microsoft Antimalware extension.

Modelli di Gestione risorse di Azure

È possibile aggiungere estensioni vm a un modello di Resource Manager ed eseguirle con la distribuzione del modello. Quando si distribuisce un'estensione con un modello, è possibile creare distribuzioni di Azure completamente configurate.

Ad esempio, il codice JSON seguente viene tratto da un modello arm completo che distribuisce un set di macchine virtuali con carico bilanciato e un database Azure SQL e quindi installa un'applicazione .NET Core in ogni macchina virtuale. L'estensione della macchina virtuale gestisce l'installazione del software.

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Per altre informazioni sulla creazione di modelli di Resource Manager, vedere Macchine virtuali in un modello di azure Resource Manager.

Proteggere i dati delle estensioni della macchina virtuale

Quando si esegue un'estensione di macchina virtuale, potrebbe essere necessario includere informazioni riservate, ad esempio credenziali, nomi di account di archiviazione e chiavi di accesso. Molte estensioni macchina virtuale includono una configurazione protetta, che consente di crittografare dati e di decrittografarli solo all'interno della macchina virtuale di destinazione. Ogni estensione dispone di uno schema di configurazione protetta specifico, descritto in dettaglio nella documentazione specifica dell'estensione.

L'esempio seguente illustra un'istanza dell'estensione Script personalizzato per Windows. Il comando da eseguire include un set di credenziali. In questo esempio il comando da eseguire non è crittografato.

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ],
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Lo spostamento della commandToExecute proprietà nella protected configurazione consente di proteggere la stringa di esecuzione, come illustrato nell'esempio seguente:

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

In una macchina virtuale IaaS (Infrastructure as a Service) di Azure che usa le estensioni, nella console dei certificati potrebbero essere visualizzati certificati con oggetto Windows generatore di certificati CRP di Azure. In una macchina virtuale RedDog Front End (RDFE) classica, questi certificati hanno il nome soggetto Windows Gestione dei servizi di Azure per le estensioni.

Questi certificati proteggono la comunicazione tra la macchina virtuale e il relativo host durante il trasferimento delle impostazioni protette (password e altre credenziali) usate dalle estensioni. I certificati vengono compilati dal controller di infrastruttura di Azure e passati all'agente di macchine virtuali di Azure. Se si arresta e si avvia la macchina virtuale ogni giorno, il controller di infrastruttura potrebbe creare un nuovo certificato. Il certificato viene archiviato nell'archivio certificati personali del computer. Questi certificati possono essere eliminati. Se necessario, l'agente di macchine virtuali di Azure ricrea i certificati.

Come vengono aggiornati gli agenti e le estensioni

Gli agenti e le estensioni condividono lo stesso meccanismo di aggiornamento automatico.

Quando un aggiornamento è disponibile e gli aggiornamenti automatici sono abilitati, l'aggiornamento viene installato nella macchina virtuale solo dopo che è stata apportata una modifica a un'estensione o dopo altre modifiche del modello di macchina virtuale, ad esempio:

  • Dischi dati
  • Estensioni
  • Tag di estensione
  • Contenitore della diagnostica di avvio
  • Segreti del sistema operativo guest
  • Dimensioni macchina virtuale
  • Profilo di rete

I server di pubblicazione rendono disponibili gli aggiornamenti per le aree in vari momenti, quindi è possibile che sia possibile disporre di macchine virtuali in aree diverse in versioni diverse.

Nota

Alcuni aggiornamenti potrebbero richiedere regole del firewall aggiuntive. Vedere Accesso alla rete.

Elencare le estensioni distribuite in una macchina virtuale

$vm = Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion
Publisher             VirtualMachineExtensionType          TypeHandlerVersion
---------             ---------------------------          ------------------
Microsoft.Compute     CustomScriptExtension                1.9

Aggiornamenti dell'agente

L'agente vm di Azure contiene solo codice di gestione delle estensioni. Il codice di provisioning Windows è separato. È possibile disinstallare l'agente di macchine virtuali di Azure. Non è possibile disabilitare l'aggiornamento automatico dell'agente di macchine virtuali di Azure.

Il codice di gestione delle estensioni è responsabile:

  • Comunicazione con l'infrastruttura di Azure.
  • Gestione delle operazioni di estensione della macchina virtuale, ad esempio installazioni, stato di creazione di report, aggiornamento delle singole estensioni e rimozione di estensioni. Gli aggiornamenti contengono correzioni di sicurezza, correzioni di bug e miglioramenti al codice di gestione delle estensioni.

Per verificare la versione in esecuzione, vedere Rilevare l'agente della macchina virtuale.

Aggiornamenti delle estensioni

Quando un aggiornamento dell'estensione è disponibile e gli aggiornamenti automatici vengono abilitati, dopo che si verifica una modifica al modello di macchina virtuale , l'agente di macchine virtuali di Azure scarica e aggiorna l'estensione.

Gli aggiornamenti automatici delle estensioni sono minori o hotfix. È possibile rifiutare o rifiutare esplicitamente gli aggiornamenti secondari quando si effettua il provisioning dell'estensione. Nell'esempio seguente viene illustrato come aggiornare automaticamente le versioni secondarie in un modello di Resource Manager usando "autoUpgradeMinorVersion": true,:

    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },

Per ottenere le correzioni più recenti di bug di rilascio secondario, è consigliabile selezionare sempre l'aggiornamento automatico nelle distribuzioni di estensioni. Non è possibile rifiutare esplicitamente gli aggiornamenti hotfix che contengono correzioni di bug di sicurezza o chiave.

Se si disabilitano gli aggiornamenti automatici o è necessario aggiornare una versione principale, usare Set-AzVMExtension e specificare la versione di destinazione.

Come identificare gli aggiornamenti delle estensioni

Identificare se l'estensione è impostata con autoUpgradeMinorVersion in una macchina virtuale

È possibile visualizzare dal modello di macchina virtuale se l'estensione è stata eseguita con autoUpgradeMinorVersion. Per controllare, usare Get-AzVm e specificare il nome del gruppo di risorse e della macchina virtuale come indicato di seguito:

 $vm = Get-AzVm -ResourceGroupName "myResourceGroup" -VMName "myVM"
 $vm.Extensions

L'output di esempio seguente mostra che autoUpgradeMinorVersion è impostato su true:

ForceUpdateTag              :
Publisher                   : Microsoft.Compute
VirtualMachineExtensionType : CustomScriptExtension
TypeHandlerVersion          : 1.9
AutoUpgradeMinorVersion     : True

Identificare quando si è verificato un evento autoUpgradeMinorVersion

Per verificare quando si è verificato un aggiornamento all'estensione, esaminare i log dell'agente nella macchina virtuale in C:\WindowsAzure\Logs\WaAppAgent.log.

Nell'esempio seguente la macchina virtuale aveva Microsoft.Compute.CustomScriptExtension installato la versione 1.8 . È stato disponibile un hotfix per la versione 1.9.

[INFO]  Getting plugin locations for plugin 'Microsoft.Compute.CustomScriptExtension'. Current Version: '1.8', Requested Version: '1.9'
[INFO]  Auto-Upgrade mode. Highest public version for plugin 'Microsoft.Compute.CustomScriptExtension' with requested version: '1.9', is: '1.9'

Autorizzazioni dell'agente

Per svolgere le attività, è necessario che l'agente venga eseguito come sistema locale.

Risoluzione dei problemi relativi alle estensioni della macchina virtuale

Ogni estensione della macchina virtuale potrebbe avere passaggi di risoluzione dei problemi specifici. Ad esempio, quando si usa l'estensione Script personalizzato, è possibile trovare i dettagli di esecuzione dello script in locale nella macchina virtuale in cui è stata eseguita l'estensione.

Le azioni di risoluzione dei problemi seguenti si applicano a tutte le estensioni della macchina virtuale:

  • Per controllare il log dell'agente di macchine virtuali di Azure, esaminare l'attività quando l'estensione è stata sottoposta a provisioning in C:\WindowsAzure\Logs\WaAppAgent.log.

  • Controllare i log delle estensioni per altri dettagli in C:\WindowsAzure\Logs\PluginsextensionName<>.

  • Controllare le sezioni di risoluzione dei problemi nella documentazione specifica dell'estensione per i codici di errore, i problemi noti e altre informazioni specifiche dell'estensione.

  • Esaminare i log di sistema. Controllare altre operazioni che potrebbero avere interferito con l'estensione, ad esempio un'installazione a esecuzione prolungata di un'altra applicazione che richiede l'accesso esclusivo alla gestione pacchetti.

  • In una macchina virtuale, se è presente un'estensione esistente con uno stato di provisioning non riuscito, qualsiasi altra nuova estensione non riesce a installare.

Motivi comuni che causano errori delle estensioni

  • Le estensioni hanno 20 minuti da eseguire. Le eccezioni sono script personalizzati, chef e DSC, che hanno 90 minuti. Se la distribuzione supera questa volta, viene contrassegnata come timeout. La causa di questa operazione può essere di macchine virtuali a bassa risorsa o altre configurazioni di macchine virtuali o attività di avvio consumano grandi quantità di risorse mentre l'estensione sta tentando di effettuare il provisioning.

  • I prerequisiti minimi non vengono soddisfatti. Alcune estensioni hanno dipendenze negli SKU di macchine virtuali, ad esempio le immagini HPC. Le estensioni potrebbero avere determinati requisiti di accesso alla rete, ad esempio la comunicazione con Archiviazione di Azure o servizi pubblici. Altri esempi possono essere accessibili ai repository del pacchetto, all'esaurimento dello spazio su disco o alle restrizioni di sicurezza.

  • L'accesso a Gestione pacchetti è esclusivo. In alcuni casi, una configurazione e un'installazione delle macchine virtuali a esecuzione prolungata potrebbero essere in conflitto perché entrambi necessitano dell'accesso esclusivo alla gestione pacchetti.

Visualizzare lo stato dell'estensione

Dopo l'esecuzione di un'estensione della macchina virtuale in una macchina virtuale, usare Get-AzVM per restituire lo stato dell'estensione. Substatuses[0] indica che il provisioning dell'estensione ha avuto esito positivo, ovvero che è stato distribuito correttamente nella macchina virtuale. Ma Substatuses[1] mostra che l'esecuzione dell'estensione all'interno della macchina virtuale non è riuscita.

Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM" -Status

L'output è simile all'esempio seguente:

Extensions[0]           :
  Name                  : CustomScriptExtension
  Type                  : Microsoft.Compute.CustomScriptExtension
  TypeHandlerVersion    : 1.9
  Substatuses[0]        :
    Code                : ComponentStatus/StdOut/succeeded
    Level               : Info
    DisplayStatus       : Provisioning succeeded
    Message             : Windows PowerShell \nCopyright (C) Microsoft Corporation. All rights reserved.\n
  Substatuses[1]        :
    Code                : ComponentStatus/StdErr/succeeded
    Level               : Info
    DisplayStatus       : Provisioning succeeded
    Message             : The argument 'cseTest%20Scriptparam1.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the

-File parameter.
  Statuses[0]           :
    Code                : ProvisioningState/failed/-196608
    Level               : Error
    DisplayStatus       : Provisioning failed
    Message             : Finished executing command

È anche possibile trovare lo stato di esecuzione dell'estensione nel portale di Azure. Selezionare la macchina virtuale, selezionare Estensioni e quindi selezionare l'estensione desiderata.

Rieseguire un'estensione macchina virtuale

Potrebbero verificarsi casi in cui è necessario eseguire nuovamente un'estensione della macchina virtuale. È possibile eseguire tale operazione rimuovendo l'estensione e quindi eseguendola di nuovo con il metodo scelto. Per rimuovere un'estensione, usare Remove-AzVMExtension come indicato di seguito:

Remove-AzVMExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myExtensionName"

È anche possibile rimuovere un'estensione nella portale di Azure:

  1. Selezionare una macchina virtuale.
  2. Selezionare Estensioni.
  3. Selezionare l'estensione.
  4. Selezionare Disinstalla.

Riferimento alle estensioni della macchina virtuale comuni

Nome estensione Descrizione
Estensione script personalizzata per Windows Eseguire script in una macchina virtuale di Azure.
Estensione DSC per Windows Applicare le configurazioni di stato desiderate di PowerShell a una macchina virtuale.
estensione Diagnostica di Azure Gestire Diagnostica di Azure.
Estensione VMAccess Gestire utenti e credenziali.

Passaggi successivi

Per altre informazioni sulle estensioni della macchina virtuale, vedere Estensioni e funzionalità delle macchine virtuali di Azure.