Sdílet prostřednictvím


New-AzureRmVM

Vytvoří virtuální počítač.

Upozorňující

Modul AzureRM PowerShell je od 29. února 2024 oficiálně zastaralý. Uživatelům se doporučuje migrovat z AzureRM do modulu Az PowerShell, aby se zajistila nepřetržitá podpora a aktualizace.

I když může modul AzureRM stále fungovat, už se neudržuje ani nepodporuje, přičemž jakékoli další použití se bude umisťovat podle vlastního uvážení a rizika uživatele. Pokyny k přechodu na modul Az najdete v našich zdrojích informací o migraci.

Syntaxe

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

Rutina New-AzureRmVM vytvoří virtuální počítač v Azure. Tato rutina přebírá jako vstup objekt virtuálního počítače. K vytvoření objektu virtuálního počítače použijte rutinu New-AzureRmVMConfig. Další rutiny je možné použít ke konfiguraci virtuálního počítače, jako je Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface a Set-AzureRmVMOSDisk. Poskytuje SimpleParameterSet pohodlnou metodu pro vytvoření virtuálního počítače tím, že běžné argumenty vytvoření virtuálního počítače jsou volitelné.

Příklady

Příklad 1: Vytvoření virtuálního počítače

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

Tento ukázkový skript ukazuje, jak vytvořit virtuální počítač. Skript požádá o uživatelské jméno a heslo pro virtuální počítač. Tento skript používá několik dalších rutin.

Příklad 2: Vytvoření virtuálního počítače z vlastní image uživatele

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

Tento příklad přebírá existující image operačního systému s předponou sys a zobecněnou vlastní bitovou kopii operačního systému a připojí k ní datový disk, zřídí novou síť, nasadí virtuální pevný disk a spustí ji. Tento skript lze použít pro automatické zřizování, protože používá přihlašovací údaje místního správce virtuálního počítače vložené místo volání Get-Credential , což vyžaduje interakci uživatele. Tento skript předpokládá, že jste již přihlášení ke svému účtu Azure. Stav přihlášení můžete potvrdit pomocí rutiny Get-AzureSubscription .

Příklad 3: Vytvoření virtuálního počítače z image marketplace bez veřejné IP adresy

$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

Tento příklad zřídí novou síť a nasadí virtuální počítač s Windows z Marketplace bez vytvoření veřejné IP adresy nebo skupiny zabezpečení sítě. Tento skript lze použít pro automatické zřizování, protože používá přihlašovací údaje místního správce virtuálního počítače vložené místo volání Get-Credential , což vyžaduje interakci uživatele.

Parametry

-AddressPrefix

Předpona adresy pro virtuální síť, která se vytvoří pro virtuální počítač.

Typ:String
Position:Named
Default value:192.168.0.0/16
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AllocationMethod

Metoda přidělování IP adres pro veřejnou IP adresu, která se vytvoří pro virtuální počítač.

Typ:String
Přípustné hodnoty:Static, Dynamic
Position:Named
Default value:Static
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AsJob

Spusťte rutinu na pozadí a vraťte úlohu pro sledování průběhu.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-AvailabilitySetName

Určuje název skupiny dostupnosti.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Confirm

Před spuštěním rutiny zobrazí výzvu k potvrzení.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Credential

Přihlašovací údaje správce pro virtuální počítač.

Typ:PSCredential
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DataDiskSizeInGb

Určuje velikosti datových disků v GB.

Typ:Int32[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DefaultProfile

Přihlašovací údaje, účet, tenant a předplatné používané ke komunikaci s Azure.

Typ:IAzureContextContainer
Aliasy:AzureRmContext, AzureCredential
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DisableBginfoExtension

Označuje, že tato rutina nenainstaluje rozšíření BG Info na virtuální počítač.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DiskFile

Místní cesta k souboru virtuálního pevného disku, který se má nahrát do cloudu, a pro vytvoření virtuálního počítače a musí mít příponu .vhd.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-DomainNameLabel

Popisek subdomény pro plně kvalifikovaný název domény (FQDN) virtuálního počítače. To bude mít formulář {domainNameLabel}.{location}.cloudapp.azure.com.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Image

Popisný název image, na které bude virtuální počítač sestaven. Patří mezi ně: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.

Typ:String
Aliasy:ImageName
Position:Named
Default value:Win2016Datacenter
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-LicenseType

Určuje typ licence, který označuje, že image nebo disk virtuálního počítače byly licencované místně. Tato hodnota se používá pouze pro bitové kopie, které obsahují operační systém Windows Server. Tento parametr přijímá tyto hodnoty:

  • Windows_Client
  • Windows_Server Tuto hodnotu nelze aktualizovat. Pokud zadáte tento parametr pro aktualizaci, musí tato hodnota odpovídat počáteční hodnotě virtuálního počítače.
Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Linux

Určuje, jestli je soubor disku pro virtuální počítač s Linuxem, pokud je zadaný; nebo Windows, pokud není ve výchozím nastavení zadáno.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Location

Určuje umístění virtuálního počítače.

Typ:String
Position:1
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Name

Název prostředku virtuálního počítače.

Typ:String
Position:Named
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-OpenPorts

Seznam portů, které se mají otevřít ve skupině zabezpečení sítě (NSG) pro vytvořený virtuální počítač. Výchozí hodnota závisí na typu zvolené image (tj. Windows: 3389, 5985 a Linux: 22).

Typ:Int32[]
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-PublicIpAddressName

Název nové (nebo existující) veřejné IP adresy vytvořeného virtuálního počítače, který se má použít. Pokud není zadaný, vygeneruje se název.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-ResourceGroupName

Určuje název skupiny prostředků.

Typ:String
Position:0
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SecurityGroupName

Název nové (nebo existující) skupiny zabezpečení sítě (NSG) pro vytvořený virtuální počítač, který se má použít. Pokud není zadaný, vygeneruje se název.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Size

Velikost virtuálního počítače. Výchozí hodnota je: Standard_DS1_v2.

Typ:String
Position:Named
Default value:Standard_DS1_v2
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SubnetAddressPrefix

Předpona adresy pro podsíť, která se vytvoří pro virtuální počítač.

Typ:String
Position:Named
Default value:192.168.1.0/24
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SubnetName

Název nové (nebo existující) podsítě, kterou má vytvořený virtuální počítač použít. Pokud není zadaný, vygeneruje se název.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-SystemAssignedIdentity

Pokud je parametr k dispozici, přiřadí se virtuálnímu počítači identita spravovaného systému, která se automaticky vygeneruje.

Typ:SwitchParameter
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Tag

Určuje, že prostředky a skupiny prostředků lze označit sadou párů název-hodnota. Přidání značek k prostředkům umožňuje seskupit prostředky mezi skupinami prostředků a vytvořit vlastní zobrazení. Každý prostředek nebo skupina prostředků může mít maximálně 15 značek.

Typ:Hashtable
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-UserAssignedIdentity

Název identity spravované služby, která by měla být přiřazena k virtuálnímu počítači.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-VirtualNetworkName

Název nové (nebo existující) virtuální sítě, kterou má vytvořený virtuální počítač použít. Pokud není zadaný, vygeneruje se název.

Typ:String
Position:Named
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-VM

Určuje místní virtuální počítač, který se má vytvořit. K získání objektu virtuálního počítače použijte rutinu New-AzureRmVMConfig. Další rutiny je možné použít ke konfiguraci virtuálního počítače, jako je Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage a Add-AzureRmVMNetworkInterface.

Typ:PSVirtualMachine
Aliasy:VMProfile
Position:2
Default value:None
Vyžadováno:True
Přijmout vstup kanálu:True
Přijmout zástupné znaky:False

-WhatIf

Zobrazuje, co by se stalo při spuštění rutiny. Rutina není spuštěna.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Default value:False
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

-Zone

Určuje seznam zón virtuálního počítače.

Typ:String[]
Position:3
Default value:None
Vyžadováno:False
Přijmout vstup kanálu:False
Přijmout zástupné znaky:False

Vstupy

String

PSVirtualMachine

String[]

Hashtable

Výstupy

PSAzureOperationResponse

PSVirtualMachine