Invoke-AzVMReimage

Reimage an Azure virtual machine.

Syntax

Invoke-AzVMReimage
      [-ResourceGroupName] <String>
      [-VMName] <String>
      [-TempDisk]
      [-AsJob]
      [-ExactVersion <String>]
      [-CustomData <String>]
      [-AdminPassword <String>]
      [-DefaultProfile <IAzureContextContainer>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

The Invoke-AzVMReimage cmdlet reimages an Azure virtual machine.

Examples

Example 1

Invoke-AzVMReimage -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07"

This command reimages the virtual machine named VirtualMachine07 in ResourceGroup11.

Example 2

$SecurePassword = ConvertTo-SecureString "password" -AsPlainText 
Invoke-AzVMReimage -ResourceGroupName "ResourceGroup11" -Name "VirtualMachine07" -TempDisk -CustomData $CustomData -AdminPassword $SecurePassword -ExactVersion "10.0.14393.0"

Passing in -AdminPassword using SecureString along with other parameters to reimage the virtual machine.

Parameters

-AdminPassword

Specifies the password of the administrator account.

Minimum-length (Windows): 8 characters

Minimum-length (Linux): 6 characters

Max-length (Windows): 123 characters

Max-length (Linux): 72 characters

Complexity requirements: 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\W_])

Disallowed values: "abc@123", "P@$$w0rd", "P@ssw0rd", "P@ssword123", "Pa$$word", "pass@word1", "Password!", "Password1", "Password22", "iloveyou!"

For resetting the password, see How to reset the Remote Desktop service or its login password in a Windows VM

For resetting root password, see Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension

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

-AsJob

Run cmdlet in the background

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CustomData

Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.

Note: Do not pass any secrets or passwords in customData property

This property cannot be updated after the VM is created.

customData is passed to the VM to be saved as a file, for more information see Custom Data on Azure VMs

For using cloud-init for your Linux VM, see Using cloud-init to customize a Linux VM during creation

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

-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

-ExactVersion

Specifies in decimal number, the version the OS disk should be reimaged to. If exact version is not provided, the OS disk is reimaged to the existing version of OS Disk.

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

-ResourceGroupName

Specifies the name of the resource group of the virtual machine.

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

-TempDisk

Specifies whether to reimage temp disk.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VMName

The virtual machine name.

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

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

String

Outputs

PSOperationStatusResponse