New-AzureRmVM

Erstellt einen virtuellen Computer.

Warnung

Das AzureRM PowerShell-Modul ist seit dem 29. Februar 2024 offiziell veraltet. Benutzern wird empfohlen, von AzureRM zum Az PowerShell-Modul zu migrieren, um weiterhin Support und Updates zu erhalten.

Obwohl das AzureRM-Modul weiterhin funktioniert, wird es nicht mehr Standard tained oder unterstützt, wobei eine fortgesetzte Verwendung nach Ermessen und Risiko des Benutzers erfolgt. Weitere Informationen zum Übergang zum Az-Modul finden Sie in unseren Migrationsressourcen.

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>]

Beschreibung

Das Cmdlet New-AzureRmVM erstellt einen virtuellen Computer in Azure. Dieses Cmdlet verwendet ein Objekt des virtuellen Computers als Eingabe. Verwenden Sie das Cmdlet New-AzureRmVMConfig, um ein Objekt eines virtuellen Computers zu erstellen. Andere Cmdlets können verwendet werden, um den virtuellen Computer zu konfigurieren, z. B. Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface und Set-AzureRmVMOSDisk. Dies SimpleParameterSet stellt eine bequeme Methode zum Erstellen eines virtuellen Computers bereit, indem allgemeine ARGUMENTE für die VM-Erstellung optional erstellt werden.

Beispiele

Beispiel 1: Erstellen eines virtuellen Computers

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

Dieses Beispielskript zeigt, wie Sie einen virtuellen Computer erstellen. Das Skript fragt einen Benutzernamen und ein Kennwort für die VM. Dieses Skript verwendet mehrere andere Cmdlets.

Beispiel 2: Erstellen eines virtuellen Computers aus einem benutzerdefinierten Benutzerimage

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

This example takes an existing sys-prepped, generalized custom operating system image and attaches a data disk to it, deploys a new network, deploys the VHD, and runs it. Dieses Skript kann für die automatische Bereitstellung verwendet werden, da sie die Anmeldeinformationen des lokalen virtuellen Computers inline verwendet, anstatt Get-Credential aufzurufen, die eine Benutzerinteraktion erfordern. Dieses Skript geht davon aus, dass Sie bereits bei Ihrem Azure-Konto angemeldet sind. Sie können Ihren Anmeldestatus mithilfe des Cmdlets "Get-AzureSubscription " bestätigen.

Beispiel 3: Erstellen eines virtuellen Computers aus einem Marketplace-Image ohne öffentliche IP

$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

In diesem Beispiel wird ein neues Netzwerk bereitgestellt und eine Windows-VM aus dem Marketplace bereitgestellt, ohne eine öffentliche IP-Adresse oder Eine Netzwerksicherheitsgruppe zu erstellen. Dieses Skript kann für die automatische Bereitstellung verwendet werden, da sie die Anmeldeinformationen des lokalen virtuellen Computers inline verwendet, anstatt Get-Credential aufzurufen, die eine Benutzerinteraktion erfordern.

Parameter

-AddressPrefix

Das Adresspräfix für das virtuelle Netzwerk, das für den virtuellen Computer erstellt wird.

Type:String
Position:Named
Default value:192.168.0.0/16
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllocationMethod

Die IP-Zuordnungsmethode für die öffentliche IP, die für den virtuellen Computer erstellt wird.

Type:String
Accepted values:Static, Dynamic
Position:Named
Default value:Static
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Führen Sie das Cmdlet im Hintergrund aus, und geben Sie einen Auftrag zurück, um den Fortschritt nachzuverfolgen.

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

-AvailabilitySetName

Gibt einen Namen für den Verfügbarkeitssatz an.

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

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

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

-Credential

Die Administratoranmeldeinformationen für den virtuellen Computer.

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

-DataDiskSizeInGb

Gibt die Größe von Datenträgern in GB an.

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.

Type:IAzureContextContainer
Aliases:AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableBginfoExtension

Gibt an, dass dieses Cmdlet die BG Info-Erweiterung nicht auf dem virtuellen Computer installiert.

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

-DiskFile

Der lokale Pfad zur virtuellen Festplattendatei, die in die Cloud hochgeladen werden soll, und zum Erstellen der VM und muss ".vhd" als Suffix aufweisen.

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

-DomainNameLabel

Die Unterdo Standard bezeichnung für den vollqualifizierten Do Standard namen (FQDN) des virtuellen Computers. Dies wird die Form {domainNameLabel}.{location}.cloudapp.azure.comannehmen.

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

-Image

Der Anzeigeimagename, auf dem die VM erstellt wird. Dazu gehören: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.

Type:String
Aliases:ImageName
Position:Named
Default value:Win2016Datacenter
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseType

Gibt einen Lizenztyp an, der angibt, dass das Image oder der Datenträger für den virtuellen Computer lokal lizenziert wurde. Dieser Wert wird nur für Bilder verwendet, die das Windows Server-Betriebssystem enthalten. Zulässige Werte für diesen Parameter:

  • Windows_Client
  • Windows_Server Dieser Wert kann nicht aktualisiert werden. Wenn Sie diesen Parameter für ein Update angeben, muss der Wert mit dem Anfangswert für den virtuellen Computer übereinstimmen.
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Linux

Gibt an, ob die Datenträgerdatei für linux-VM ist, falls angegeben; oder Windows, wenn nicht standardmäßig angegeben.

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

-Location

Gibt einen Speicherort für den virtuellen Computer an.

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

-Name

Der Name der VM-Ressource.

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

-OpenPorts

Eine Liste der Ports, die für die erstellte VM in der Netzwerksicherheitsgruppe (Network Security Group, NSG) geöffnet werden sollen. Der Standardwert hängt vom Typ des ausgewählten Images ab (d. h. Windows: 3389, 5985 und Linux: 22).

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublicIpAddressName

Der Name einer neuen (oder vorhandenen) öffentlichen IP-Adresse für die erstellte VM, die verwendet werden soll. Wenn nicht angegeben, wird ein Name generiert.

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

-ResourceGroupName

Gibt den Namen einer Ressourcengruppe an.

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

-SecurityGroupName

Der Name einer neuen (oder vorhandenen) Netzwerksicherheitsgruppe (NSG) für die erstellte VM, die verwendet werden soll. Wenn nicht angegeben, wird ein Name generiert.

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

-Size

Die Größe des virtuellen Computers. Der Standardwert ist: Standard_DS1_v2.

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

-SubnetAddressPrefix

Das Adresspräfix für das Subnetz, das für den virtuellen Computer erstellt wird.

Type:String
Position:Named
Default value:192.168.1.0/24
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetName

Der Name eines neuen (oder vorhandenen) Subnetzes für die erstellte VM, die verwendet werden soll. Wenn nicht angegeben, wird ein Name generiert.

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

-SystemAssignedIdentity

Wenn der Parameter vorhanden ist, wird dem virtuellen Computer eine verwaltete Systemidentität zugewiesen, die automatisch generiert wird.

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

-Tag

Gibt an, dass Ressourcen und Ressourcengruppen mit einer Gruppe von Namen-Wert-Paaren markiert werden können. Durch das Hinzufügen von Tags zu Ressourcen können Sie Ressourcen in Ressourcengruppen gruppieren und eigene Ansichten erstellen. Jede Ressource oder Ressourcengruppe kann maximal 15 Tags haben.

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

-UserAssignedIdentity

Der Name einer verwalteten Dienstidentität, die der VM zugewiesen werden soll.

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

-VirtualNetworkName

Der Name eines neuen (oder vorhandenen) virtuellen Netzwerks für den erstellten virtuellen Computer, der verwendet werden soll. Wenn nicht angegeben, wird ein Name generiert.

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

-VM

Gibt einen zu erstellenden lokalen virtuellen Computer an. Verwenden Sie das Cmdlet New-AzureRmVMConfig, um ein Objekt eines virtuellen Computers abzurufen. Andere Cmdlets können verwendet werden, um den virtuellen Computer zu konfigurieren, z. B. Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage und Add-AzureRmVMNetworkInterface.

Type:PSVirtualMachine
Aliases:VMProfile
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

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

-Zone

Gibt die Zonenliste des virtuellen Computers an.

Type:String[]
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

String

PSVirtualMachine

String[]

Hashtable

Ausgaben

PSAzureOperationResponse

PSVirtualMachine