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.com
annehmen.
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[]