Hitta och använda virtuella Azure Marketplace-avbildningar av virtuella datorer med Azure PowerShell

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Gäller för: ✔️ Virtuella Linux-datorer ✔️ med virtuella Windows-datorer ✔️ – flexibla skalningsuppsättningar ✔️ Enhetliga skalningsuppsättningar

Den här artikeln beskriver hur du använder Azure PowerShell för att hitta VM-avbildningar på Azure Marketplace. Du kan sedan ange en Marketplace-avbildning och planera information när du skapar en virtuell dator.

Du kan också bläddra bland tillgängliga bilder och erbjudanden med hjälp av Azure Marketplace eller Azure CLI.

Terminologi

En Marketplace-avbildning i Azure har följande attribut:

  • Utgivare: Den organisation som skapade avbildningen. Exempel: Canonical, Microsoft Windows Server
  • Erbjudande: Namnet på en grupp relaterade bilder som skapats av en utgivare. Exempel: UbuntuServer, WindowsServer
  • SKU: En instans av ett erbjudande, till exempel en större distributionsversion. Exempel: 18.04-LTS, 2019-Datacenter
  • Version: Versionsnumret för en avbildnings-SKU.

Dessa värden kan skickas individuellt eller som en avbildnings-URN och kombinera värdena avgränsade med kolonet (:). Exempel: Publisher:Offer:Sku:Version. Du kan ersätta versionsnumret i URN med latest för att använda den senaste versionen av avbildningen.

Om bildutgivaren tillhandahåller andra licens- och köpvillkor måste du acceptera dem innan du kan använda avbildningen. Mer information finns i Acceptera köpavtalsvillkor.

Standardbilder

Powershell erbjuder flera fördefinierade avbildningsalias för att göra det enklare att skapa resurser. Det finns olika avbildningar för resurser med antingen ett Windows- eller Linux-operativsystem. Med flera Powershell-cmdletar, till exempel New-AzVM och New-AzVmss, kan du ange aliasnamnet som en parameter. Till exempel:

$rgname = <Resource Group Name>
$location = <Azure Region>
$vmName = "v" + $rgname
$domainNameLabel = "d" + $rgname
$securePassword = <Password> | ConvertTo-SecureString -AsPlainText -Force
$username = <Username>
$credential = New-Object System.Management.Automation.PSCredential ($username, $securePassword)
New-AzVM -ResourceGroupName $rgname -Location $location -Name $vmName -image CentOS85Gen285Gen2 -Credential $credential -DomainNameLabel $domainNameLabel

Namn på Linux-avbildningsalias och deras information är:

Alias                     Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Version
-----------------------   --------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ ---------
CentOS85Gen2              x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                               latest
Debian11                  x64             Debian-11                     Debian                  11-backports-gen2                   Debian:debian-11:11-backports-gen2:latest                                      latest
FlatcarLinuxFreeGen2      x64             flatcar-container-linux-free  kinvolk                 stable                              kinvolk:flatcar-container-linux-free:stable:latest                             latest
OpenSuseLeap154Gen2       x64             opensuse-leap-15-4            SUSE                    gen2                                SUSE:opensuse-leap-15-4:gen2:latest                                            latest
RHELRaw8LVMGen2           x64             RHEL                          RedHat                  8-lvm-gen2                          RedHat:RHEL:8-lvm-gen2:latest                                                  latest
SLES                      x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                   latest
Ubuntu2204                x64             0001-com-ubuntu-server-jammy  Canonical               22_04-lts-gen2                      Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest                   latest

Namn på Windows-avbildningsalias och deras information är:

Alias                   Architecture    Offer                         Publisher               Sku                                 Urn                                                                              Version
----------------------- --------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------   ---------
Win2022Datacenter       x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                      latest
Win2022AzureEditionCore x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest   latest
Win10                   x64             Windows                       MicrosoftVisualStudio   Windows-10-N-x64                    MicrosoftVisualStudio:Windows:Windows-10-N-x64:latest                            latest
Win2019Datacenter       x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                      latest
Win2016Datacenter       x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                      latest
Win2012R2Datacenter     x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                   latest
Win2012Datacenter       x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                      latest

Visa en lista med bilder

Du kan använda PowerShell för att begränsa en lista med bilder om du vill använda en viss bild som inte tillhandahålls som standard. Ersätt värdena för variablerna nedan för att uppfylla dina behov.

  1. Visa en lista över avbildningsutgivare med Get-AzVMImagePublisher.

    $locName="<location>"
    Get-AzVMImagePublisher -Location $locName | Select PublisherName
    
  2. För en viss utgivare listar du deras erbjudanden med Hjälp av Get-AzVMImageOffer.

    $pubName="<publisher>"
    Get-AzVMImageOffer -Location $locName -PublisherName $pubName | Select Offer
    
  3. För en viss utgivare och ett erbjudande listar du de SKU:er som är tillgängliga med Hjälp av Get-AzVMImageSku.

    $offerName="<offer>"
    Get-AzVMImageSku -Location $locName -PublisherName $pubName -Offer $offerName | Select Skus
    
  4. För en SKU listar du versionerna av avbildningen med hjälp av Get-AzVMImage.

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

    Du kan också använda latest om du vill använda den senaste avbildningen och inte en specifik äldre version.

Nu kan du kombinera den valda utgivaren, erbjudandet, SKU:n och versionen till ett URN (värden avgränsade med :). Skicka detta URN med parametern -Image när du skapar en virtuell dator med cmdleten New-AzVM . Du kan också ersätta versionsnumret i URN med latest för att hämta den senaste versionen av avbildningen.

Om du distribuerar en virtuell dator med en Resource Manager-mall måste du ange avbildningsparametrarna individuellt i imageReference egenskaperna. Se mallreferensen.

Visa köpplansegenskaper

Vissa VM-avbildningar på Azure Marketplace har andra licens- och inköpsvillkor som du måste godkänna innan du kan distribuera dem programmatiskt. Du måste godkänna bildens villkor en gång per prenumeration.

Om du vill visa en bilds inköpsplansinformation kör du cmdleten Get-AzVMImage . Om egenskapen PurchasePlan i utdata inte nullär har avbildningen villkor som du måste acceptera före programmatisk distribution.

Till exempel har Windows Server 2016 Datacenter-avbildningen inte ytterligare villkor, så informationen PurchasePlan är null:

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

Utdata ser ut ungefär som följande utdata:

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   : []

Exemplet nedan visar ett liknande kommando för avbildningen Datavetenskap Virtual Machine – Windows 2016, som har följande PurchasePlan egenskaper: name, productoch publisher. Vissa bilder har också en promotion code egenskap. Om du vill distribuera den här avbildningen kan du läsa följande avsnitt för att godkänna villkoren och aktivera programmatisk distribution.

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

Utdata ser ut ungefär som följande utdata:

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   : []

Om du vill visa licensvillkoren använder du cmdleten Get-AzMarketplaceterms och skickar in köpplansparametrarna. Utdata ger en länk till villkoren för Marketplace-avbildningen och visar om du tidigare har accepterat villkoren. Se till att använda alla gemener i parametervärdena.

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

Utdata ser ut ungefär så här:

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

Acceptera köpplansvillkor

Använd cmdleten Set-AzMarketplaceterms för att acceptera eller avvisa villkoren. Du behöver bara acceptera villkor en gång per prenumeration för avbildningen. Se till att använda alla gemener i parametervärdena.

$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

Skapa en ny virtuell dator från en marketplace-avbildning

Om du redan har information om vilken avbildning du vill använda kan du skicka informationen till Cmdleten Set-AzVMSourceImage för att lägga till avbildningsinformation i VM-konfigurationen. Se nästa avsnitt för att söka efter och visa de avbildningar som är tillgängliga på marketplace.

Vissa betalda avbildningar kräver också att du anger köpplansinformation med hjälp av 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

...

Sedan skickar du vm-konfigurationen tillsammans med de andra konfigurationsobjekten till cmdleten New-AzVM . Ett detaljerat exempel på hur du använder en VM-konfiguration med PowerShell finns i det här skriptet.

Om du får ett meddelande om att acceptera villkoren för avbildningen läser du det tidigare avsnittet Acceptera köpplansvillkor.

Skapa en ny virtuell dator från en virtuell hårddisk med köpplansinformation

Om du har en befintlig virtuell hårddisk som har skapats med en Azure Marketplace-avbildning kan du behöva ange inköpsplansinformationen när du skapar en ny virtuell dator från den virtuella hårddisken.

Om du fortfarande har den ursprungliga virtuella datorn eller en annan virtuell dator som skapats från samma avbildning kan du hämta plannamnet, utgivaren och produktinformationen från den med hjälp av Get-AzVM. Det här exemplet hämtar en virtuell dator med namnet myVM i resursgruppen myResourceGroup och visar sedan köpplansinformationen.

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

Om du inte fick planinformationen innan den ursprungliga virtuella datorn togs bort kan du skicka en supportbegäran. Supportbegäran behöver minst vm-namnet, prenumerations-ID:t och tidsstämpeln för borttagningsåtgärden.

Om du vill skapa en virtuell dator med hjälp av en virtuell hårddisk läser du den här artikeln Skapa en virtuell dator från en specialiserad virtuell hårddisk och lägg till en rad för att lägga till planinformationen i VM-konfigurationen med Set-AzVMPlan som liknar följande:

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

Nästa steg

Information om hur du snabbt skapar en virtuell dator med cmdleten New-AzVM med hjälp av grundläggande avbildningsinformation finns i Skapa en virtuell Windows-dator med PowerShell.

Mer information om hur du använder Azure Marketplace-avbildningar för att skapa anpassade avbildningar i ett Azure Compute-galleri (kallades tidigare delat bildgalleri) finns i Ange information om Köpplan för Azure Marketplace när du skapar avbildningar.