Dela via


New-AzureRmVM

Skapar en virtuell dator.

Varning

AzureRM PowerShell-modulen är officiellt inaktuell från och med den 29 februari 2024. Användare rekommenderas att migrera från AzureRM till Az PowerShell-modulen för att säkerställa fortsatt support och uppdateringar.

Även om AzureRM-modulen fortfarande kan fungera, underhålls den inte längre eller stöds, vilket gör att användaren kan välja och riskera fortsatt användning. Se våra migreringsresurser för vägledning om övergången till Az-modulen.

Syntax

New-AzureRmVM
   [[-ResourceGroupName] <String>]
   [[-Location] <String>]
   [[-Zone] <String[]>]
   -Name <String>
   -Credential <PSCredential>
   [-VirtualNetworkName <String>]
   [-AddressPrefix <String>]
   [-SubnetName <String>]
   [-SubnetAddressPrefix <String>]
   [-PublicIpAddressName <String>]
   [-DomainNameLabel <String>]
   [-AllocationMethod <String>]
   [-SecurityGroupName <String>]
   [-OpenPorts <Int32[]>]
   [-Image <String>]
   [-Size <String>]
   [-AvailabilitySetName <String>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-AsJob]
   [-DataDiskSizeInGb <Int32[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmVM
   [-ResourceGroupName] <String>
   [-Location] <String>
   [-VM] <PSVirtualMachine>
   [[-Zone] <String[]>]
   [-DisableBginfoExtension]
   [-Tag <Hashtable>]
   [-LicenseType <String>]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzureRmVM
   [[-ResourceGroupName] <String>]
   [[-Location] <String>]
   -Name <String>
   [-VirtualNetworkName <String>]
   [-AddressPrefix <String>]
   [-SubnetName <String>]
   [-SubnetAddressPrefix <String>]
   [-PublicIpAddressName <String>]
   [-DomainNameLabel <String>]
   [-AllocationMethod <String>]
   [-SecurityGroupName <String>]
   [-OpenPorts <Int32[]>]
   -DiskFile <String>
   [-Linux]
   [-Size <String>]
   [-AvailabilitySetName <String>]
   [-SystemAssignedIdentity]
   [-UserAssignedIdentity <String>]
   [-AsJob]
   [-DataDiskSizeInGb <Int32[]>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Cmdleten New-AzureRmVM skapar en virtuell dator i Azure. Den här cmdleten tar ett virtuellt datorobjekt som indata. Använd cmdleten New-AzureRmVMConfig för att skapa ett virtuellt datorobjekt. Andra cmdletar kan användas för att konfigurera den virtuella datorn, till exempel Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface och Set-AzureRmVDiskMOS. Ger SimpleParameterSet en praktisk metod för att skapa en virtuell dator genom att göra vanliga argument för att skapa virtuella datorer valfria.

Exempel

Exempel 1: Skapa en virtuell dator

PS C:\> New-AzureRmVM -Name MyVm -Credential (Get-Credential)

VERBOSE: Use 'mstsc /v:myvm-222222.eastus.cloudapp.azure.com' to connect to the VM.

ResourceGroupName        : MyVm
Id                       : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MyVm/provi
ders/Microsoft.Compute/virtualMachines/MyVm
VmId                     : 11111111-1111-1111-1111-111111111111
Name                     : MyVm
Type                     : Microsoft.Compute/virtualMachines
Location                 : eastus
Tags                     : {}
HardwareProfile          : {VmSize}
NetworkProfile           : {NetworkInterfaces}
OSProfile                : {ComputerName, AdminUsername, WindowsConfiguration, Secrets}
ProvisioningState        : Succeeded
StorageProfile           : {ImageReference, OsDisk, DataDisks}
FullyQualifiedDomainName : myvm-222222.eastus.cloudapp.azure.com

Det här exempelskriptet visar hur du skapar en virtuell dator. Skriptet frågar efter användarnamn och lösenord för den virtuella datorn. Det här skriptet använder flera andra cmdletar.

Exempel 2: Skapa en virtuell dator från en anpassad användarbild

PS C:\> ## VM Account
# Credentials for Local Admin account you created in the sysprepped (generalized) vhd image
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString "Password" -AsPlainText -Force
## Azure Account
$LocationName = "westus"
$ResourceGroupName = "MyResourceGroup"
# This a Premium_LRS storage account.
# It is required in order to run a client VM with efficiency and high performance.
$StorageAccount = "Mydisk"

## VM
$OSDiskName = "MyClient"
$ComputerName = "MyClientVM"
$OSDiskUri = "https://Mydisk.blob.core.windows.net/disks/MyOSDisk.vhd"
$SourceImageUri = "https://Mydisk.blob.core.windows.net/vhds/MyOSImage.vhd"
$VMName = "MyVM"
# Modern hardware environment with fast disk, high IOPs performance.
# Required to run a client VM with efficiency and performance
$VMSize = "Standard_DS3"
$OSDiskCaching = "ReadWrite"
$OSCreateOption = "FromImage"

## Networking
$DNSNameLabel = "mydnsname" # mydnsname.westus.cloudapp.azure.com
$NetworkName = "MyNet"
$NICName = "MyNIC"
$PublicIPAddressName = "MyPIP"
$SubnetName = "MySubnet"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"

$SingleSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzureRmPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id

$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows

New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose

Det här exemplet tar en befintlig sys-förberedd, generaliserad anpassad operativsystemavbildning och kopplar en datadisk till den, etablerar ett nytt nätverk, distribuerar den virtuella hårddisken och kör den. Det här skriptet kan användas för automatisk etablering eftersom det använder administratörsuppgifterna för den lokala virtuella datorn infogade i stället för att anropa Get-Credential som kräver användarinteraktion. Det här skriptet förutsätter att du redan är inloggad på ditt Azure-konto. Du kan bekräfta din inloggningsstatus med cmdleten Get-AzureSubscription .

Exempel 3: Skapa en virtuell dator från en marketplace-avbildning utan en offentlig IP-adress

$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString <password> -AsPlainText -Force
$LocationName = "eastus2"
$ResourceGroupName = "MyResourceGroup"
$ComputerName = "MyVM"
$VMName = "MyVM"
$VMSize = "Standard_DS3"

$NetworkName = "MyNet"
$NICName = "MyNIC"
$SubnetName = "MySubnet"
$SubnetAddressPrefix = "10.0.0.0/24"
$VnetAddressPrefix = "10.0.0.0/16"

$SingleSubnet = New-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id

$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2012-R2-Datacenter' -Version latest

New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose

Det här exemplet etablerar ett nytt nätverk och distribuerar en virtuell Windows-dator från Marketplace utan att skapa en offentlig IP-adress eller nätverkssäkerhetsgrupp. Det här skriptet kan användas för automatisk etablering eftersom det använder administratörsuppgifterna för den lokala virtuella datorn infogade i stället för att anropa Get-Credential som kräver användarinteraktion.

Parametrar

-AddressPrefix

Adressprefixet för det virtuella nätverket som skapas för den virtuella datorn.

Typ:String
Position:Named
standardvärde:192.168.0.0/16
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-AllocationMethod

IP-allokeringsmetoden för den offentliga IP-adressen som skapas för den virtuella datorn.

Typ:String
accepterade värden:Static, Dynamic
Position:Named
standardvärde:Static
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Kör cmdleten i bakgrunden och returnera ett jobb för att spåra förloppet.

Typ:SwitchParameter
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-AvailabilitySetName

Anger ett namn för tillgänglighetsuppsättningen.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Aliases:cf
Position:Named
standardvärde:False
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Administratörsautentiseringsuppgifterna för den virtuella datorn.

Typ:PSCredential
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
Accept wildcard characters:False

-DataDiskSizeInGb

Anger storleken på datadiskar i GB.

Typ:Int32[]
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Autentiseringsuppgifter, konto, klientorganisation och prenumeration som används för kommunikation med Azure.

Typ:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableBginfoExtension

Anger att den här cmdleten inte installerar BG Info-tillägget på den virtuella datorn.

Typ:SwitchParameter
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskFile

Den lokala sökvägen till den virtuella hårddiskfilen som ska laddas upp till molnet och för att skapa den virtuella datorn, och den måste ha ".vhd" som suffix.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
Accept wildcard characters:False

-DomainNameLabel

Underdomänetiketten för den virtuella datorns fullständigt kvalificerade domännamn (FQDN). Detta kommer att ta formuläret {domainNameLabel}.{location}.cloudapp.azure.com.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Image

Det egna avbildningsnamnet som den virtuella datorn ska byggas på. Dessa inkluderar: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.

Typ:String
Aliases:ImageName
Position:Named
standardvärde:Win2016Datacenter
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseType

Anger en licenstyp som anger att avbildningen eller disken för den virtuella datorn har licensierats lokalt. Det här värdet används endast för avbildningar som innehåller Windows Server-operativsystemet. De acceptabla värdena för den här parametern är:

  • Windows_Client
  • Windows_Server Det här värdet kan inte uppdateras. Om du anger den här parametern för en uppdatering måste värdet matcha det ursprungliga värdet för den virtuella datorn.
Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Linux

Anger om diskfilen är för en virtuell Linux-dator, om den anges. eller Windows, om det inte anges som standard.

Typ:SwitchParameter
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

Anger en plats för den virtuella datorn.

Typ:String
Position:1
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

Namnet på den virtuella datorresursen.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
Accept wildcard characters:False

-OpenPorts

En lista över portar som ska öppnas i nätverkssäkerhetsgruppen (NSG) för den skapade virtuella datorn. Standardvärdet beror på vilken typ av avbildning som valts (d.v.s. Windows: 3389, 5985 och Linux: 22).

Typ:Int32[]
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-PublicIpAddressName

Namnet på en ny (eller befintlig) offentlig IP-adress som den skapade virtuella datorn ska använda. Om det inte anges genereras ett namn.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Anger namnet på en resursgrupp.

Typ:String
Position:0
standardvärde:None
Obligatorisk:True
Accept pipeline input:False
Accept wildcard characters:False

-SecurityGroupName

Namnet på en ny (eller befintlig) nätverkssäkerhetsgrupp (NSG) som den skapade virtuella datorn ska använda. Om det inte anges genereras ett namn.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Size

Storleken på den virtuella datorn. Standardvärdet är: Standard_DS1_v2.

Typ:String
Position:Named
standardvärde:Standard_DS1_v2
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetAddressPrefix

Adressprefixet för undernätet som ska skapas för den virtuella datorn.

Typ:String
Position:Named
standardvärde:192.168.1.0/24
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetName

Namnet på ett nytt (eller befintligt) undernät som den skapade virtuella datorn ska använda. Om det inte anges genereras ett namn.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-SystemAssignedIdentity

Om parametern finns tilldelas den virtuella datorn en hanterad systemidentitet som genereras automatiskt.

Typ:SwitchParameter
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Tag

Anger att resurser och resursgrupper kan taggas med en uppsättning namn/värde-par. Genom att lägga till taggar i resurser kan du gruppera resurser mellan resursgrupper och skapa egna vyer. Varje resurs eller resursgrupp kan som mest ha 15 taggar.

Typ:Hashtable
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:True
Accept wildcard characters:False

-UserAssignedIdentity

Namnet på en hanterad tjänstidentitet som ska tilldelas till den virtuella datorn.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-VirtualNetworkName

Namnet på ett nytt (eller befintligt) virtuellt nätverk som den skapade virtuella datorn ska använda. Om det inte anges genereras ett namn.

Typ:String
Position:Named
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Anger en lokal virtuell dator som ska skapas. Om du vill hämta ett virtuellt datorobjekt använder du cmdleten New-AzureRmVMConfig. Andra cmdletar kan användas för att konfigurera den virtuella datorn, till exempel Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage och Add-AzureRmVMNetworkInterface.

Typ:PSVirtualMachine
Aliases:VMProfile
Position:2
standardvärde:None
Obligatorisk:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Aliases:wi
Position:Named
standardvärde:False
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

-Zone

Anger zonlistan för den virtuella datorn.

Typ:String[]
Position:3
standardvärde:None
Obligatorisk:False
Accept pipeline input:False
Accept wildcard characters:False

Indata

String

PSVirtualMachine

String[]

Hashtable

Utdata

PSAzureOperationResponse

PSVirtualMachine