Extensies en functies van virtuele machines voor Windows

Extensies van virtuele Azure-machines (VM's) zijn kleine toepassingen die configuratie na de implementatie en automatiseringstaken voor Azure-VM's bieden. Als een virtuele machine bijvoorbeeld software-installatie, antivirusbeveiliging of de mogelijkheid om een script in de virtuele machine uit te voeren vereist, kunt u een VM-extensie gebruiken.

U kunt Azure VM-extensies uitvoeren met behulp van de Azure CLI-, PowerShell-, Arm-sjablonen (Azure Resource Manager) en Azure Portal. U kunt extensies bundelen met een nieuwe VM-implementatie of deze uitvoeren op elk bestaand systeem.

Dit artikel bevat een overzicht van Azure VM-extensies, waaronder vereisten en richtlijnen voor het detecteren, beheren en verwijderen van extensies. Dit artikel bevat gegeneraliseerde informatie omdat er veel VM-extensies beschikbaar zijn. Elke extensie heeft een mogelijk unieke configuratie en een eigen documentatie.

Use cases en voorbeelden

Elke Azure VM-extensie heeft een specifieke use-case. Hieronder volgen een aantal voorbeelden:

Naast processpecifieke extensies is er een aangepaste scriptextensie beschikbaar voor virtuele Windows- en Linux-machines. Met de aangepaste scriptextensie voor Windows kan elk PowerShell-script worden uitgevoerd op een virtuele machine. Aangepaste scripts zijn handig voor het ontwerpen van Azure-implementaties waarvoor configuratie nodig is buiten wat systeemeigen Azure-hulpprogramma's kunnen bieden.

Vereisten

Bekijk de volgende vereisten voor het werken met Azure VM-extensies.

Azure VM-agent

Als u extensies op de virtuele machine wilt afhandelen, moet de Azure Virtual Machine Agent voor Windows zijn geïnstalleerd. Deze agent wordt ook wel de Azure VM-agent of de Windows-gastagent genoemd. Wanneer u zich voorbereidt op het installeren van extensies, moet u er rekening mee houden dat sommige extensies afzonderlijke vereisten hebben, zoals toegang tot resources of afhankelijkheden.

De Azure VM-agent beheert interacties tussen een Azure-VM en de Azure-infrastructuurcontroller. De agent is verantwoordelijk voor veel functionele aspecten van het implementeren en beheren van Virtuele Azure-machines, waaronder het uitvoeren van VM-extensies.

De Azure VM-agent is vooraf geïnstalleerd op Azure Marketplace-installatiekopieën. De agent kan ook handmatig worden geïnstalleerd op ondersteunde besturingssystemen.

De agent wordt uitgevoerd op meerdere besturingssystemen. Het uitbreidingsframework heeft echter een limiet voor de besturingssystemen die extensies gebruiken. Sommige extensies worden niet ondersteund in alle besturingssystemen en kunnen foutcode 51 ("Niet-ondersteund besturingssysteem") verzenden. Raadpleeg de documentatie voor afzonderlijke extensies voor ondersteuning.

Netwerktoegang

Extensiepakketten worden gedownload uit de Opslagplaats van de Azure Storage-extensie. Uploads van extensiestatussen worden geplaatst in Azure Storage.

Als u een ondersteunde versie van de Azure VM-agent gebruikt, hoeft u geen toegang tot Azure Storage in de VM-regio toe te staan. U kunt de VM-agent gebruiken om de communicatie om te leiden naar de Azure-infrastructuurcontroller voor agentcommunicatie (via de HostGAPlugin functie via het bevoegde kanaal op privé-IP-adres 168.63.129.16). Als u een niet-ondersteunde versie van de VM-agent gebruikt, moet u uitgaande toegang tot Azure Storage in die regio vanaf de VIRTUELE machine toestaan.

Belangrijk

Als u de toegang tot IP-adres 168.63.129.16 blokkeert met behulp van de gastfirewall of via een proxy, mislukken extensies. Er treedt een fout op, zelfs als u een ondersteunde versie van de VM-agent gebruikt of uitgaande toegang configureert. Poorten 80 en 32526 zijn vereist.

Agents kunnen alleen worden gebruikt om extensiepakketten te downloaden en de status te rapporteren. Als een extensie-installatie bijvoorbeeld een script moet downloaden van GitHub (aangepaste scriptextensie) of toegang nodig heeft tot Azure Storage (Azure Backup), moet u andere firewall- of netwerkbeveiligingsgroeppoorten (NSG) openen. Verschillende extensies hebben verschillende vereisten omdat ze zelf toepassingen zijn. Voor extensies waarvoor toegang tot Azure Storage of Microsoft Entra ID is vereist, kunt u toegang toestaan met behulp van Azure NSG-servicetags.

De Azure VM-agent biedt geen ondersteuning voor proxyservers om omleiding van aanvragen voor agentverkeer in te schakelen. De VM-agent is afhankelijk van uw aangepaste proxy (als u er een hebt) voor toegang tot resources op internet of op de host via IP-adres 168.63.129.16.

VM-extensies detecteren

Er zijn veel VM-extensies beschikbaar voor gebruik met Azure-VM's. Gebruik de Get-AzVMExtensionImage PowerShell-cmdlet om een volledige lijst weer te geven.

Met de volgende opdracht worden alle beschikbare VM-extensies weergegeven op de locatie van de regio VS - west:

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

Deze opdracht biedt uitvoer die vergelijkbaar is met het volgende voorbeeld:

Type                Version
----                -------
AcronisBackup       1.0.33
AcronisBackup       1.0.51
AcronisBackupLinux  1.0.33
AlertLogicLM        1.3.0.1
AlertLogicLM        1.3.0.0
AlertLogicLM        1.4.0.1

VM-extensies uitvoeren

Azure VM-extensies worden uitgevoerd op bestaande VM's. Dit is handig wanneer u configuratiewijzigingen moet aanbrengen of de connectiviteit op een reeds geïmplementeerde VM wilt herstellen. VM-extensies kunnen ook worden gebundeld met ARM-sjabloonimplementaties. Met behulp van extensies met ARM-sjablonen kunt u Azure-VM's implementeren en configureren zonder tussenkomst na de implementatie.

U kunt de volgende methoden gebruiken om een extensie uit te voeren op een bestaande VM.

Notitie

In sommige van de volgende voorbeelden worden parameterwaarden in de opdrachten gebruikt "<placeholder>" . Voordat u elke opdracht uitvoert, moet u ervoor zorgen dat u waarden "<placeholder>" vervangt door specifieke waarden voor uw configuratie.

PowerShell

Er bestaan verschillende PowerShell-opdrachten voor het uitvoeren van afzonderlijke extensies. Als u een lijst wilt zien, gebruikt u de opdracht Get-Command en filtert u op Extensie:

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

Deze opdracht biedt uitvoer die vergelijkbaar is met het volgende voorbeeld:

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

In het volgende voorbeeld wordt de aangepaste scriptextensie gebruikt om een script uit een GitHub-opslagplaats te downloaden naar de virtuele doelmachine en het script uit te voeren.

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 "<myVMregion>"

In het volgende voorbeeld wordt de VMAccess-extensie gebruikt om het beheerderswachtwoord van een Windows-VM opnieuw in te stellen op een tijdelijk wachtwoord. Nadat u deze code hebt uitgevoerd, moet u het wachtwoord opnieuw instellen bij de eerste aanmelding.

$cred=Get-Credential

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

U kunt de opdracht Set-AzVMExtension gebruiken om een VM-extensie te starten.

Azure Portal

U kunt VM-extensies toepassen op een bestaande VIRTUELE machine via Azure Portal. Selecteer de virtuele machine in de portal, selecteer Extensies en toepassingen en selecteer vervolgens + Toevoegen. Kies de gewenste extensie in de lijst met beschikbare extensies en volg de instructies in de wizard.

In het volgende voorbeeld ziet u de installatie van de Microsoft Antimalware-extensie vanuit Azure Portal:

Screenshot of the dialog for installing the Microsoft Antimalware extension.

Azure Resource Manager-sjablonen

U kunt VM-extensies toevoegen aan een ARM-sjabloon en deze uitvoeren met de implementatie van de sjabloon. Wanneer u een extensie met een sjabloon implementeert, kunt u volledig geconfigureerde Azure-implementaties maken.

Het volgende JSON-voorbeeld is afkomstig van een ARM-sjabloon waarmee een set vm's met gelijke taakverdeling en een Azure SQL-database wordt geïmplementeerd en vervolgens een .NET Core-toepassing op elke VIRTUELE machine wordt geïnstalleerd. De VM-extensie zorgt voor de software-installatie.

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

Zie Virtuele machines in een ARM-sjabloon voor meer informatie over het maken van ARM-sjablonen.

Hulp bij het beveiligen van VM-extensiegegevens

Wanneer u een VM-extensie uitvoert, kan het nodig zijn om gevoelige informatie op te nemen, zoals referenties, namen van opslagaccounts en toegangssleutels. Veel VM-extensies bevatten een beveiligde configuratie waarmee gegevens worden versleuteld en alleen worden ontsleuteld binnen de doel-VM. Elke extensie heeft een specifiek beveiligd configuratieschema en elk schema wordt beschreven in extensiespecifieke documentatie.

In het volgende JSON-voorbeeld ziet u een exemplaar van de aangepaste scriptextensie voor Windows. De opdracht die moet worden uitgevoerd, bevat een set referenties. In dit voorbeeld wordt de opdracht die moet worden uitgevoerd, niet versleuteld.

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

Als u de commandToExecute eigenschap naar de protected configuratie verplaatst, kunt u de uitvoeringsreeks beveiligen, zoals wordt weergegeven in het volgende voorbeeld:

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

Op een IaaS-VM (Infrastructure as a Service) van Azure die gebruikmaakt van extensies, ziet u mogelijk certificaten met het onderwerp Windows Azure CRP Certificate Generator. Op een klassieke RDFE-VM (RedDog Front End) hebben deze certificaten de onderwerpnaam Windows Azure Service Management for Extensions.

Deze certificaten beveiligen de communicatie tussen de virtuele machine en de host tijdens de overdracht van beveiligde instellingen (wachtwoord en andere referenties) die extensies gebruiken. De Azure-infrastructuurcontroller bouwt de certificaten en geeft deze door aan de Azure VM-agent. Als u de VIRTUELE machine elke dag stopt en start, kan de infrastructuurcontroller een nieuw certificaat maken. Het certificaat wordt opgeslagen in het persoonlijke certificaatarchief van de computer. Deze certificaten kunnen worden verwijderd. De Azure VM-agent maakt zo nodig certificaten opnieuw.

Hoe agents en extensies worden bijgewerkt

Agents en extensies delen hetzelfde mechanisme voor automatische updates.

Wanneer een update beschikbaar is en automatische updates zijn ingeschakeld, wordt de update alleen op de VM geïnstalleerd nadat een extensie of een ander VM-model is gewijzigd. Wijzigingen kunnen het volgende omvatten:

  • Gegevensschijven
  • Uitbreidingen
  • Extensietags
  • Diagnostische opstartcontainer
  • Geheimen van gastbesturingssystemen
  • VM-grootte
  • Netwerkprofiel

Uitgevers maken updates beschikbaar voor regio's op verschillende momenten. Het is mogelijk dat u vm's in verschillende regio's op verschillende versies kunt hebben.

Notitie

Voor sommige updates zijn mogelijk aanvullende firewallregels vereist. Zie Netwerktoegang voor meer informatie.

Extensies weergeven die zijn geïmplementeerd op een VIRTUELE machine

U kunt de volgende opdracht gebruiken om de extensies weer te geven die zijn geïmplementeerd op een virtuele machine:

$vm = Get-AzVM -ResourceGroupName "<myResourceGroup>" -VMName "<myVM>"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion

Met deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:

Publisher             VirtualMachineExtensionType          TypeHandlerVersion
---------             ---------------------------          ------------------
Microsoft.Compute     CustomScriptExtension                1.9

Agentupdates

De Azure VM-agent bevat alleen extensieverwerkingscode. De Windows-inrichtingscode is gescheiden. U kunt de Azure VM-agent verwijderen. U kunt de automatische update van de Azure VM-agent niet uitschakelen.

De extensieafhandelingscode is verantwoordelijk voor de volgende taken:

  • Communiceren met de Azure-infrastructuur.
  • Verwerk de VM-extensiebewerkingen, zoals installaties, rapportagestatus, het bijwerken van de afzonderlijke extensies en het verwijderen van extensies. Updates bevatten beveiligingsoplossingen, bugfixes en verbeteringen in de extensieafhandelingscode.

Zie De Azure VM-agent detecteren om te controleren welke versie u uitvoert.

Extensie-updates

Wanneer een extensie-update beschikbaar is en automatische updates zijn ingeschakeld, wordt de Azure VM-agent gedownload en bijgewerkt als een VM-model wordt gewijzigd.

Automatische extensie-updates zijn secundair of hotfix. U kunt zich aanmelden of afmelden voor secundaire updates wanneer u de extensie inricht. In het volgende voorbeeld ziet u hoe u secundaire versies in een ARM-sjabloon automatisch bijwerkt met behulp van de "autoUpgradeMinorVersion": true, parameter:

    "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"
        ]
    },

Om de meest recente oplossingen voor kleine releasefouten te krijgen, raden we u ten zeerste aan dat u altijd automatische updates in uw extensie-implementaties selecteert. U kunt zich niet afmelden voor hotfix-updates die oplossingen voor beveiligings- of sleutelfouten bevatten.

Als u automatische updates uitschakelt of een primaire versie moet upgraden, gebruikt u de opdracht Set-AzVMExtension en geeft u de doelversie op.

Extensie-updates identificeren

Er zijn een aantal manieren waarop u updates voor een extensie kunt identificeren.

Bepalen of de extensie is ingesteld met autoUpgradeMinorVersion op een VIRTUELE machine

U kunt het VM-model weergeven om te bepalen of de extensie is ingericht met de autoUpgradeMinorVersion parameter. Als u het VM-model wilt controleren, gebruikt u de opdracht Get-AzVm en geeft u de resourcegroep en vm-naam als volgt op:

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

In de volgende voorbeelduitvoer ziet u dat de autoUpgradeMinorVersion parameter is ingesteld op true:

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

Identificeren wanneer een autoUpgradeMinorVersion-gebeurtenis plaatsvindt

Als u wilt zien wanneer er een update van de extensie is opgetreden, kunt u de agentlogboeken op de VM bekijken op C:\WindowsAzure\Logs\WaAppAgent.log.

In het volgende voorbeeld ziet u de VM waarop Microsoft.Compute.CustomScriptExtension de versie 1.8 is geïnstalleerd en een hotfix die beschikbaar is voor versie 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'

Agentmachtigingen

Om de taken uit te voeren, moet de Azure VM-agent worden uitgevoerd als lokaal systeem.

Problemen met VM-extensies oplossen

Elke VM-extensie kan specifieke stappen voor probleemoplossing hebben. Wanneer u bijvoorbeeld de aangepaste scriptextensie gebruikt, kunt u de details van de uitvoering van scripts lokaal vinden op de VM waarop de extensie wordt uitgevoerd.

De volgende probleemoplossingsacties zijn van toepassing op alle VM-extensies:

  • Als u het logboek van de Azure VM-agent wilt controleren, bekijkt u de activiteit toen uw extensie werd ingericht in C:\WindowsAzure\Logs\WaAppAgent.log.

  • Raadpleeg de extensielogboeken voor meer informatie in C:\WindowsAzure\Logs\Plugins<extensionName>.

  • Raadpleeg secties voor probleemoplossing in extensiespecifieke documentatie voor foutcodes, bekende problemen en andere extensiespecifieke informatie.

  • Bekijk de systeemlogboeken. Controleer op andere bewerkingen die mogelijk de extensie hebben beïnvloed, zoals een langdurige installatie van een andere toepassing waarvoor exclusieve toegang tot pakketbeheer is vereist.

  • Als er in een VM een bestaande extensie met een mislukte inrichtingsstatus is, kan een andere nieuwe extensie niet worden geïnstalleerd.

Veelvoorkomende redenen voor uitbreidingsfouten

Hier volgen enkele veelvoorkomende redenen waarom een extensie kan mislukken:

  • Extensies kunnen 20 minuten worden uitgevoerd. (Uitzonderingen zijn Aangepast script, Chef en DSC, die 90 minuten hebben.) Als uw implementatie deze keer wordt overschreden, wordt deze gemarkeerd als een time-out. De oorzaak van dit probleem kan vm's met weinig resources zijn, of andere VM-configuraties of opstarttaken verbruiken grote hoeveelheden resources terwijl de extensie probeert in te richten.

  • Er wordt niet voldaan aan minimale vereisten. Sommige extensies hebben afhankelijkheden van VM-SKU's, zoals HPC-installatiekopieën. Extensies hebben mogelijk bepaalde netwerktoegangsvereisten, zoals communicatie met Azure Storage of openbare services. Andere voorbeelden zijn mogelijk toegang tot pakketopslagplaatsen, onvoldoende schijfruimte of beveiligingsbeperkingen.

  • Package Manager-toegang is exclusief. In sommige gevallen kan een langlopende VM-configuratie en extensie-installatie conflicteren omdat ze allebei exclusieve toegang tot pakketbeheer nodig hebben.

Extensiestatus weergeven

Nadat een VM-extensie is uitgevoerd op een VIRTUELE machine, gebruikt u de opdracht Get-AzVM om de extensiestatus te retourneren. Het Substatuses[0] resultaat geeft aan dat de inrichting van de extensie is geslaagd, wat betekent dat deze is geïmplementeerd op de VIRTUELE machine. Als u het Substatuses[1] resultaat ziet, is de uitvoering van de extensie in de VIRTUELE machine mislukt.

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

De uitvoer lijkt op die in het volgende voorbeeld:

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

U kunt ook de uitvoeringsstatus van de extensie vinden in Azure Portal. Selecteer de VIRTUELE machine, selecteer Extensies en selecteer vervolgens de gewenste extensie.

Een VM-extensie opnieuw uitvoeren

In bepaalde gevallen moet u mogelijk een VM-extensie opnieuw uitvoeren. U kunt een extensie opnieuw uitvoeren door de extensie te verwijderen en vervolgens de extensie opnieuw uit te voeren met een uitvoeringsmethode van uw keuze. Als u een extensie wilt verwijderen, gebruikt u de opdracht Remove-AzVMExtension als volgt:

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

U kunt ook een extensie verwijderen in Azure Portal. Selecteer een VIRTUELE machine, selecteer Extensies en selecteer vervolgens de gewenste extensie. Selecteer Verwijderen.

Naslaginformatie over algemene VM-extensie

De volgende tabel bevat enkele algemene verwijzingen voor VM-extensies.

Extensienaam Omschrijving
Aangepaste scriptextensie voor Windows Voer scripts uit op een virtuele Azure-machine.
DSC-extensie voor Windows PowerShell-statusconfiguraties toepassen op een virtuele machine.
Azure Diagnostics-extensie Azure Diagnostics beheren.
VMAccess-extensie Gebruikers en referenties beheren.

Volgende stappen

Zie extensies en functies van virtuele Azure-machines voor meer informatie over VM-extensies.