Set-AzureRmVMSourceImage

Specifies the image for a virtual machine.

Important

Because Az PowerShell modules now have all the capabilities of AzureRM PowerShell modules and more, we'll retire AzureRM PowerShell modules on 29 February 2024.

To avoid service interruptions, update your scripts that use AzureRM PowerShell modules to use Az PowerShell modules by 29 February 2024. To automatically update your scripts, follow the quickstart guide.

Syntax

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

Description

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

Examples

Example 1: Set values for an image

PS C:\> $AvailabilitySet = Get-AzureRmAvailabilitySet -ResourceGroupName "ResourceGroup11" -Name "AvailabilitySet03"
PS C:\> $VirtualMachine = New-AzureRmVMConfig -VMName "VirtualMachine07" -VMSize "Standard_A1" -AvailabilitySetID $AvailabilitySet.Id 
PS C:\> Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName "MicrosoftWindowsServer" -Offer "WindowsServer" -Skus "2012-R2-Datacenter" -Version "latest"

The first command gets the availability set named AvailablitySet03 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-AzureRmVMImagePublisher, Get-AzureRmVMImageOffer, Get-AzureRmVMImageSku, and Get-AzureRmVMImage cmdlets can discover these settings.

Parameters

-DefaultProfile

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

Type:Microsoft.Azure.Commands.Common.Authentication.Abstractions.IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False
-Id

Specifies the ID.

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

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

Type:String
Position:2
Default value:None
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-AzureRmVMImagePublisher cmdlet.

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

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

Type:String
Position:3
Default value:None
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
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
Accept pipeline input:True
Accept wildcard characters:False

Inputs

PSVirtualMachine

String

Outputs

PSVirtualMachine