VM-Azure Marketplace zoeken en gebruiken met Azure PowerShell

Van toepassing op: ✔️ Linux-VM's ✔️ Windows VM's ✔️ Flexibele schaalsets ✔️ Uniforme schaalsets

In dit artikel wordt beschreven hoe u Azure PowerShell VM-afbeeldingen in de Azure Marketplace. U kunt vervolgens een Marketplace-afbeelding en plangegevens opgeven wanneer u een VM maakt.

U kunt ook door beschikbare afbeeldingen en aanbiedingen bladeren met behulp van de Azure Marketplace of de Azure CLI.

Terminologie

Een Marketplace-afbeelding in Azure heeft de volgende kenmerken:

  • Publisher: de organisatie die de afbeelding heeft gemaakt. Voorbeelden: Canonical, MicrosoftWindowsServer
  • Aanbieding: de naam van een groep gerelateerde afbeeldingen die zijn gemaakt door een uitgever. Voorbeelden: UbuntuServer, WindowsServer
  • SKU: een exemplaar van een aanbieding, zoals een grote release van een distributie. Voorbeelden: 18.04-LTS, 2019-Datacenter
  • Versie: het versienummer van een SKU voor de afbeelding.

Deze waarden kunnen afzonderlijk of als een afbeeldings-URN worden doorgegeven, waarbij de waarden worden gecombineerd die worden gescheiden door de dubbele punt (:). Bijvoorbeeld: *Publisher:**Aanbieding:*SKU:versie. U kunt het versienummer in de URN vervangen door om de nieuwste versie van de latest afbeelding te gebruiken.

Als de uitgever van de afbeelding aanvullende licentie- en aankoopvoorwaarden biedt, moet u deze accepteren voordat u de afbeelding kunt gebruiken. Zie De voorwaarden van het aankoopplan accepteren voor meer informatie.

Afbeeldingen op een lijst zetten

U kunt PowerShell gebruiken om een lijst met afbeeldingen te beperken. Vervang de waarden van de variabelen om aan uw behoeften te voldoen.

  1. Vermeld de uitgevers van de afbeeldingen met get-AzVMImagePublisher.

    $locName="<location>"
    Get-AzVMImagePublisher -Location $locName | Select PublisherName
    
  2. Vermeld voor een bepaalde uitgever de aanbiedingen met behulp van Get-AzVMImageOffer.

    $pubName="<publisher>"
    Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
    
  3. Vermeld voor een bepaalde uitgever en aanbieding de SKU's die beschikbaar zijn met get-AzVMImageSku.

    $offerName="<offer>"
    Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
    
  4. Voor een SKU gebruikt u Get-AzVMImageom de versies van de afbeelding weer te geven.

    $skuName="<SKU>"
    Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Sku $skuName | Select Version
    

    U kunt ook gebruiken als u de nieuwste afbeelding wilt gebruiken en latest niet een specifieke oudere versie.

U kunt nu de geselecteerde uitgever, aanbieding, SKU en versie combineren in een URN (waarden gescheiden door :). Geef deze URN door met -Image de parameter wanneer u een VM maakt met de cmdlet New-AzVM. U kunt ook het versienummer in de URN vervangen door om de nieuwste versie van de latest afbeelding op te halen.

Als u een VM met een Resource Manager implementeert, stelt u de afbeeldingsparameters afzonderlijk in de eigenschappen imageReference in. Zie de sjabloonverwijzing.

Eigenschappen van aankoopplan weergeven

Sommige VM-afbeeldingen in de Azure Marketplace extra licentie- en aankoopvoorwaarden die u moet accepteren voordat u ze programmatisch kunt implementeren. U moet de voorwaarden van de afbeelding eenmaal per abonnement accepteren.

Voer de cmdlet uit om de aankoopplangegevens van een afbeelding Get-AzVMImage weer te geven. Als de PurchasePlan eigenschap in de uitvoer niet null is, heeft de afbeelding termen die u moet accepteren vóór de programmatische implementatie.

De afbeelding Windows Server 2016 Datacenter heeft bijvoorbeeld geen aanvullende voorwaarden, dus de informatie PurchasePlan is null :

$version = "2016.127.20170406"
Get-AzVMImage -Location $locName -PublisherName $pubName -Offer $offerName -Skus $skuName -Version $version

De uitvoer ziet er ongeveer als volgt uit:

Id               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/MicrosoftWindowsServer/ArtifactTypes/VMImage/Offers/WindowsServer/Skus/2016-Datacenter/Versions/2019.0.20190115
Location         : westus
PublisherName    : MicrosoftWindowsServer
Offer            : WindowsServer
Skus             : 2019-Datacenter
Version          : 2019.0.20190115
FilterExpression :
Name             : 2019.0.20190115
OSDiskImage      : {
                     "operatingSystem": "Windows"
                   }
PurchasePlan     : null
DataDiskImages   : []

In het onderstaande voorbeeld ziet u een vergelijkbare opdracht voor de Data Science Virtual Machine- Windows 2016, die de volgende eigenschappen PurchasePlan heeft: name , en product publisher . Sommige afbeeldingen hebben ook een promotion code eigenschap. Zie de volgende secties voor het accepteren van de voorwaarden en het inschakelen van programmatische implementatie voor het implementeren van deze installatieprogramma's.

Get-AzVMImage -Location "westus" -PublisherName "microsoft-ads" -Offer "windows-data-science-vm" -Skus "windows2016" -Version "0.2.02"

De uitvoer ziet er ongeveer als volgt uit:

Id               : /Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/microsoft-ads/ArtifactTypes/VMImage/Offers/windows-data-science-vm/Skus/windows2016/Versions/19.01.14
Location         : westus
PublisherName    : microsoft-ads
Offer            : windows-data-science-vm
Skus             : windows2016
Version          : 19.01.14
FilterExpression :
Name             : 19.01.14
OSDiskImage      : {
                     "operatingSystem": "Windows"
                   }
PurchasePlan     : {
                     "publisher": "microsoft-ads",
                     "name": "windows2016",
                     "product": "windows-data-science-vm"
                   }
DataDiskImages   : []

Als u de licentievoorwaarden wilt weergeven, gebruikt u de cmdlet Get-AzMarketplaceterms en gebruikt u de parameters voor het aankoopplan. De uitvoer bevat een koppeling naar de voorwaarden voor de Marketplace-afbeelding en laat zien of u de voorwaarden eerder hebt geaccepteerd. Zorg ervoor dat u alle kleine letters in de parameterwaarden gebruikt.

Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

De uitvoer ziet er ongeveer als volgt uit:

Publisher         : microsoft-ads
Product           : windows-data-science-vm
Plan              : windows2016
LicenseTextLink   : https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_MICROSOFT%253a2DADS%253a24WINDOWS%253a2DDATA%253a2DSCIENCE%253a2DVM%253a24WINDOWS2016%253a24OC5SKMQOXSED66BBSNTF4XRCS4XLOHP7QMPV54DQU7JCBZWYFP35IDPOWTUKXUC7ZAG7W6ZMDD6NHWNKUIVSYBZUTZ245F44SU5AD7Q.txt
PrivacyPolicyLink : https://www.microsoft.com/EN-US/privacystatement/OnlineServices/Default.aspx
Signature         : 2UMWH6PHSAIM4U22HXPXW25AL2NHUJ7Y7GRV27EBL6SUIDURGMYG6IIDO3P47FFIBBDFHZHSQTR7PNK6VIIRYJRQ3WXSE6BTNUNENXA
Accepted          : False
Signdate          : 1/25/2019 7:43:00 PM

De voorwaarden van het aankoopplan accepteren

Gebruik de cmdlet Set-AzMarketplaceterms om de voorwaarden te accepteren of af te wijzen. U hoeft de voorwaarden slechts één keer per abonnement voor de afbeelding te accepteren. Zorg ervoor dat u alle kleine letters in de parameterwaarden gebruikt.

$agreementTerms=Get-AzMarketplaceterms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016"

Set-AzMarketplaceTerms -Publisher "microsoft-ads" -Product "windows-data-science-vm" -Name "windows2016" -Terms $agreementTerms -Accept
Publisher         : microsoft-ads
Product           : windows-data-science-vm
Plan              : windows2016
LicenseTextLink   : https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_MICROSOFT%253a2DADS%253a24WINDOWS%253a2DDATA%253a2DSCIENCE%253a2DV
                    M%253a24WINDOWS2016%253a24OC5SKMQOXSED66BBSNTF4XRCS4XLOHP7QMPV54DQU7JCBZWYFP35IDPOWTUKXUC7ZAG7W6ZMDD6NHWNKUIVSYBZUTZ245F44SU5AD7Q.txt
PrivacyPolicyLink : https://www.microsoft.com/EN-US/privacystatement/OnlineServices/Default.aspx
Signature         : XXXXXXK3MNJ5SROEG2BYDA2YGECU33GXTD3UFPLPC4BAVKAUL3PDYL3KBKBLG4ZCDJZVNSA7KJWTGMDSYDD6KRLV3LV274DLBXXXXXX
Accepted          : True
Signdate          : 2/23/2018 7:49:31 PM

Een nieuwe VM maken op een Marketplace-afbeelding

Als u al de informatie hebt over welke installatie afbeelding u wilt gebruiken, kunt u die informatie doorgeven aan de cmdlet Set-AzVMSourceImage om informatie over de installatie afbeelding toe te voegen aan de VM-configuratie. Zie de volgende secties voor het zoeken naar en het bekijken van de beschikbare afbeeldingen in marketplace.

Voor sommige betaalde afbeeldingen moet u ook informatie over het aankoopplan verstrekken met behulp van Set-AzVMPlan.

...

$vmConfig = New-AzVMConfig -VMName "myVM" -VMSize Standard_D1

# Set the Marketplace image
$offerName = "windows-data-science-vm"
$skuName = "windows2016"
$version = "19.01.14"
$vmConfig = Set-AzVMSourceImage -VM $vmConfig -PublisherName $publisherName -Offer $offerName -Skus $skuName -Version $version

# Set the Marketplace plan information, if needed
$publisherName = "microsoft-ads"
$productName = "windows-data-science-vm"
$planName = "windows2016"
$vmConfig = Set-AzVMPlan -VM $vmConfig -Publisher $publisherName -Product $productName -Name $planName

...

Vervolgens gaat u de VM-configuratie samen met de andere configuratieobjecten doorgeven aan de New-AzVM cmdlet. Zie dit scriptvoor een gedetailleerd voorbeeld van het gebruik van een VM-configuratie met PowerShell.

Als u een bericht krijgt over het accepteren van de voorwaarden van de afbeelding, zie dan de eerdere sectie Voorwaarden voor het aankoopplan accepteren.

Een nieuwe VM maken van een VHD met aankoopplangegevens

Als u een bestaande VHD hebt die is gemaakt met behulp van een Azure Marketplace-afbeelding, moet u mogelijk de aankoopplangegevens verstrekken wanneer u een nieuwe VM maakt op basis van die VHD.

Als u nog steeds de oorspronkelijke VM hebt, of een andere VM die is gemaakt op basis van dezelfde afbeelding, kunt u de plannaam, uitgever en productgegevens ervan op halen met behulp van Get-AzVM. In dit voorbeeld wordt een VM met de naam myVM in de resourcegroep myResourceGroup en worden vervolgens de aankoopplangegevens weergegeven.

$vm = Get-azvm `
   -ResourceGroupName myResourceGroup `
   -Name myVM
$vm.Plan

Als u de plangegevens niet hebt ontvangen voordat de oorspronkelijke VM werd verwijderd, kunt u een ondersteuningsaanvraag indienen. Ze hebben de VM-naam, de abonnements-id en het tijdstempel van de verwijderbewerking nodig.

Als u een VM wilt maken met behulp van een VHD, raadpleegt u dit artikel Een VM maken op basis van een gespecialiseerde VHD en voegt u een regel toe om de plangegevens toe te voegen aan de VM-configuratie met Set-AzVMPlan, vergelijkbaar met het volgende:

$vmConfig = Set-AzVMPlan `
   -VM $vmConfig `
   -Publisher "publisherName" `
   -Product "productName" `
   -Name "planName"

Volgende stappen

Zie Een virtuele machine maken met PowerShell om snel een virtuele machine te maken met de cmdlet met behulp van basisinformatie over de New-AzVM Windows.

Zie Informatie over het aankoopplan voor Azure Marketplace leveren bij het maken van afbeeldingen voor meer informatie over het gebruik van Azure Marketplace-afbeeldingen om aangepaste afbeeldingen te maken in een Azure Compute Gallery (voorheen bekend als Shared Image Gallery Azure Marketplace).