Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Applies to: ✔️ Linux VMs ✔️ Windows VMs ✔️ Flexible scale sets
This article covers some of the basic Azure PowerShell commands that you can use to create and manage virtual machines in your Azure subscription. For more detailed help with specific command-line switches and options, you can use the Get-Help command.
These variables might be useful if running more than one of the commands in this article:
- $location - The location of the virtual machine. You can use Get-AzLocation to find a geographical region that works for you.
- $myResourceGroup - The name of the resource group that contains the virtual machine.
- $myVM - The name of the virtual machine.
Create a VM - simplified
Task | Command |
---|---|
Create a simple VM | New-AzVM -Name $myVM New-AzVM has a set of simplified parameters, where all that is required is a single name. The value for -Name will be used as the name for all of the resources required for creating a new VM. You can specify more, but this is all that is required. |
Create a VM from a custom image | New-AzVm -ResourceGroupName $myResourceGroup -Name $myVM ImageName "myImage" -Location $location You need to have already created your own managed image. You can use an image to make multiple, identical VMs. |
Create a VM - advanced
Task | Command |
---|---|
Create a VM configuration | $vm = New-AzVMConfig -VMName $myVM -VMSize "Standard_D1_v1" The VM configuration is used to define or update settings for the VM. The configuration is initialized with the name of the VM and its size. |
Add configuration settings | $vm = Set-AzVMOperatingSystem -VM $vm -Windows -ComputerName $myVM -Credential $cred -ProvisionVMAgent -EnableAutoUpdate Operating system settings including credentials are added to the configuration object that you previously created using New-AzVMConfig. |
Add a network interface | $vm = Add-AzVMNetworkInterface -VM $vm -Id $nic.Id A VM must have a network interface to communicate in a virtual network. You can also use Get-AzNetworkInterface to retrieve an existing network interface object. |
Specify a platform image | $vm = Set-AzVMSourceImage -VM $vm -PublisherName "publisher_name" -Offer "publisher_offer" -Skus "product_sku" -Version "latest" Image information is added to the configuration object that you previously created using New-AzVMConfig. The object returned from this command is only used when you set the OS disk to use a platform image. |
Create a VM | New-AzVM -ResourceGroupName $myResourceGroup -Location $location -VM $vm All resources are created in a resource group. Before you run this command, run New-AzVMConfig, Set-AzVMOperatingSystem, Set-AzVMSourceImage, Add-AzVMNetworkInterface, and Set-AzVMOSDisk. |
Update a VM | Update-AzVM -ResourceGroupName $myResourceGroup -VM $vm Get the current VM configuration using Get-AzVM, change configuration settings on the VM object, and then run this command. |
Get information about your VMs
Task | Command |
---|---|
List VMs in a subscription | Get-AzVM |
List VMs in a resource group | Get-AzVM -ResourceGroupName $myResourceGroup To get a list of resource groups in your subscription, use Get-AzResourceGroup. |
Get information about a VM | Get-AzVM -ResourceGroupName $myResourceGroup -Name $myVM |
Manage your VMs
Task | Command |
---|---|
Start a VM | Start-AzVM -ResourceGroupName $myResourceGroup -Name $myVM |
Stop a VM | Stop-AzVM -ResourceGroupName $myResourceGroup -Name $myVM |
Restart a running VM | Restart-AzVM -ResourceGroupName $myResourceGroup -Name $myVM |
Delete a VM | Remove-AzVM -ResourceGroupName $myResourceGroup -Name $myVM |
Next steps
- See the basic steps for creating a virtual machine in Create a Windows VM using Resource Manager and PowerShell.