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 möglicherweise weiterhin funktioniert, wird es nicht mehr gewartet, und es wird kein Support mehr angeboten. Die weitere Nutzung erfolgt daher nach Ermessen und Risiko des Benutzers. 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.
Typ: | String |
Position: | Named |
Standardwert: | 192.168.0.0/16 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-AllocationMethod
Die IP-Zuordnungsmethode für die öffentliche IP, die für den virtuellen Computer erstellt wird.
Typ: | String |
Zulässige Werte: | Static, Dynamic |
Position: | Named |
Standardwert: | Static |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-AsJob
Führen Sie das Cmdlet im Hintergrund aus, und geben Sie einen Auftrag zurück, um den Fortschritt nachzuverfolgen.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-AvailabilitySetName
Gibt einen Namen für den Verfügbarkeitssatz an.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Typ: | SwitchParameter |
Aliase: | cf |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Credential
Die Administratoranmeldeinformationen für den virtuellen Computer.
Typ: | PSCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DataDiskSizeInGb
Gibt die Größe von Datenträgern in GB an.
Typ: | Int32[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DefaultProfile
Die Anmeldeinformationen, Konten, Mandanten und Abonnements, die für die Kommunikation mit Azure verwendet werden.
Typ: | IAzureContextContainer |
Aliase: | AzureRmContext, AzureCredential |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DisableBginfoExtension
Gibt an, dass dieses Cmdlet die BG Info-Erweiterung nicht auf dem virtuellen Computer installiert.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-DomainNameLabel
Die Unterdomänenbezeichnung für den vollqualifizierten Domänennamen (FQDN) der VM. Dies wird die Form {domainNameLabel}.{location}.cloudapp.azure.com
annehmen.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Aliase: | ImageName |
Position: | Named |
Standardwert: | Win2016Datacenter |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Linux
Gibt an, ob die Datenträgerdatei für linux-VM ist, falls angegeben; oder Windows, wenn nicht standardmäßig angegeben.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Location
Gibt einen Speicherort für den virtuellen Computer an.
Typ: | String |
Position: | 1 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Name
Der Name der VM-Ressource.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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).
Typ: | Int32[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ResourceGroupName
Gibt den Namen einer Ressourcengruppe an.
Typ: | String |
Position: | 0 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Size
Die Größe des virtuellen Computers. Der Standardwert ist: Standard_DS1_v2.
Typ: | String |
Position: | Named |
Standardwert: | Standard_DS1_v2 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-SubnetAddressPrefix
Das Adresspräfix für das Subnetz, das für den virtuellen Computer erstellt wird.
Typ: | String |
Position: | Named |
Standardwert: | 192.168.1.0/24 |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-SystemAssignedIdentity
Wenn der Parameter vorhanden ist, wird dem virtuellen Computer eine verwaltete Systemidentität zugewiesen, die automatisch generiert wird.
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | Hashtable |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-UserAssignedIdentity
Der Name einer verwalteten Dienstidentität, die der VM zugewiesen werden soll.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | String |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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.
Typ: | PSVirtualMachine |
Aliase: | VMProfile |
Position: | 2 |
Standardwert: | None |
Erforderlich: | True |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Typ: | SwitchParameter |
Aliase: | wi |
Position: | Named |
Standardwert: | False |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Zone
Gibt die Zonenliste des virtuellen Computers an.
Typ: | String[] |
Position: | 3 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
String[]