Set-AzVMSourceImage

Specifies the image for a virtual machine.

Syntax

Set-AzVMSourceImage
   [-VM] <PSVirtualMachine>
   [-PublisherName] <String>
   [-Offer] <String>
   [-Skus] <String>
   [-Version] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
Set-AzVMSourceImage
   [-VM] <PSVirtualMachine>
   [-Id] <String>
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

The Set-AzVMSourceImage cmdlet specifies the platform image to use for a virtual machine.

Examples

Example 1: Set values for an image

$AvailabilitySet = Get-AzAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03"
$VirtualMachine = New-AzVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id 
Set-AzVMSourceImage -VM $VirtualMachine -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version "latest"

The first command gets the availability set named AvailabilitySet03 in the resource group named ResourceGroup11, and then stores that object in the $AvailabilitySet variable. The second command creates a virtual machine object, and then stores it in the $VirtualMachine variable. The command assigns a name and size to the virtual machine. The virtual machine belongs to the availability set stored in $AvailabilitySet. The final command sets values for publisher name, offer, SKU, and version. The Get-AzVMImagePublisher, Get-AzVMImageOffer, Get-AzVMImageSku, and Get-AzVMImage cmdlets can discover these settings.

Parameters

-DefaultProfile

The credentials, account, tenant, and subscription used for communication with azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Specifies the ID.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Offer

Specifies the type of VMImage offer. To obtain an image offer, use the Get-AzVMImageOffer cmdlet.

Type:String
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PublisherName

Specifies the name of a publisher of a VMImage. To obtain a publisher, use the Get-AzVMImagePublisher cmdlet.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Skus

Specifies a VMImage SKU. To obtain SKUs, use the Get-AzVMImageSku cmdlet.

Type:String
Position:3
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Version

Specifies a version of a VMImage. To use the latest version, specify a value of latest instead of a particular version.

Type:String
Position:4
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VM

Specifies the local virtual machine object to configure.

Type:PSVirtualMachine
Aliases:VMProfile
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Inputs

PSVirtualMachine

String

Outputs

PSVirtualMachine