New-AzureRmVM
Hiermee maakt u een virtuele machine.
Waarschuwing
De AzureRM PowerShell-module is vanaf 29 februari 2024 officieel afgeschaft. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen.
Hoewel de AzureRM-module nog steeds kan functioneren, wordt deze niet meer onderhouden of ondersteund, waardoor het gebruik naar eigen goeddunken en risico van de gebruiker blijft bestaan. Raadpleeg onze migratiebronnen voor hulp bij de overgang naar de Az-module.
Syntaxis
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
Met de cmdlet New-AzureRmVM maakt u een virtuele machine in Azure.
Met deze cmdlet wordt een object van een virtuele machine als invoer gebruikt.
Gebruik de cmdlet New-AzureRmVMConfig om een virtuele-machineobject te maken.
Andere cmdlets kunnen worden gebruikt om de virtuele machine te configureren, zoals Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface en Set-AzureRmVMOSDisk.
Het SimpleParameterSet
biedt een handige methode om een virtuele machine te maken door algemene argumenten voor het maken van vm's optioneel te maken.
Voorbeelden
Voorbeeld 1: Een virtuele machine maken
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
In dit voorbeeldscript ziet u hoe u een virtuele machine maakt. Het script vraagt een gebruikersnaam en wachtwoord voor de virtuele machine. Dit script maakt gebruik van verschillende andere cmdlets.
Voorbeeld 2: Een virtuele machine maken op basis van een aangepaste gebruikersinstallatiekopieën
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
In dit voorbeeld wordt een bestaande vooraf gemaakte installatiekopieën van een gegeneraliseerde aangepaste besturingssystemen gebruikt en wordt er een gegevensschijf aan gekoppeld, wordt een nieuw netwerk inrichten, de VHD geïmplementeerd en uitgevoerd. Dit script kan worden gebruikt voor automatische inrichting, omdat het inline de referenties van de lokale virtuele machinebeheerder gebruikt in plaats van Get-Credential aan te roepen waarvoor gebruikersinteractie is vereist. In dit script wordt ervan uitgegaan dat u al bent aangemeld bij uw Azure-account. U kunt uw aanmeldingsstatus bevestigen met behulp van de Get-AzureSubscription-cmdlet .
Voorbeeld 3: Een VIRTUELE machine maken op basis van een marketplace-installatiekopie zonder een openbaar IP-adres
$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 dit voorbeeld wordt een nieuw netwerk geïmplementeerd en wordt een Windows-VM geïmplementeerd vanuit Marketplace zonder een openbaar IP-adres of netwerkbeveiligingsgroep te maken. Dit script kan worden gebruikt voor automatische inrichting, omdat het inline de referenties van de lokale virtuele machinebeheerder gebruikt in plaats van Get-Credential aan te roepen waarvoor gebruikersinteractie is vereist.
Parameters
-AddressPrefix
Het adresvoorvoegsel voor het virtuele netwerk dat wordt gemaakt voor de virtuele machine.
Type: | String |
Position: | Named |
Default value: | 192.168.0.0/16 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AllocationMethod
De IP-toewijzingsmethode voor het openbare IP-adres dat wordt gemaakt voor de virtuele machine.
Type: | String |
Geaccepteerde waarden: | Static, Dynamic |
Position: | Named |
Default value: | Static |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AsJob
Voer de cmdlet op de achtergrond uit en retourneer een taak om de voortgang bij te houden.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-AvailabilitySetName
Hiermee geeft u een naam voor de beschikbaarheidsset.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Confirm
Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Credential
De beheerdersreferenties voor de virtuele machine.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DataDiskSizeInGb
Hiermee geeft u de grootte van gegevensschijven in GB.
Type: | Int32[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DefaultProfile
De referenties, het account, de tenant en het abonnement die worden gebruikt voor communicatie met Azure.
Type: | IAzureContextContainer |
Aliassen: | AzureRmContext, AzureCredential |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DisableBginfoExtension
Geeft aan dat met deze cmdlet de BG Info-extensie niet op de virtuele machine wordt geïnstalleerd.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DiskFile
Het lokale pad naar het virtuele hardeschijfbestand dat moet worden geüpload naar de cloud en voor het maken van de virtuele machine, en het moet '.vhd' hebben als achtervoegsel.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-DomainNameLabel
Het subdomeinlabel voor de FQDN (Fully Qualified Domain Name) van de virtuele machine. Dit zal de vorm {domainNameLabel}.{location}.cloudapp.azure.com
aannemen.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Image
De beschrijvende installatiekopienaam waarop de virtuele machine wordt gebouwd. Dit zijn onder andere: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.
Type: | String |
Aliassen: | ImageName |
Position: | Named |
Default value: | Win2016Datacenter |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-LicenseType
Hiermee geeft u een licentietype op, wat aangeeft dat de installatiekopie of schijf voor de virtuele machine on-premises is gelicentieerd. Deze waarde wordt alleen gebruikt voor installatiekopieën die het Windows Server-besturingssysteem bevatten. De aanvaardbare waarden voor deze parameter zijn:
- Windows_Client
- Windows_Server Deze waarde kan niet worden bijgewerkt. Als u deze parameter opgeeft voor een update, moet de waarde overeenkomen met de oorspronkelijke waarde voor de virtuele machine.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Linux
Geeft aan of het schijfbestand voor linux-VM is, indien opgegeven; of Windows, indien niet standaard opgegeven.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Location
Hiermee geeft u een locatie voor de virtuele machine.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Name
De naam van de VM-resource.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-OpenPorts
Een lijst met poorten die moeten worden geopend in de netwerkbeveiligingsgroep (NSG) voor de gemaakte VM. De standaardwaarde is afhankelijk van het type installatiekopie dat is gekozen (bijvoorbeeld Windows: 3389, 5985 en Linux: 22).
Type: | Int32[] |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-PublicIpAddressName
De naam van een nieuw (of bestaand) openbaar IP-adres voor de gemaakte VM die moet worden gebruikt. Als dit niet is opgegeven, wordt er een naam gegenereerd.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-ResourceGroupName
Hiermee geeft u de naam van een resourcegroep.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SecurityGroupName
De naam van een nieuwe (of bestaande) netwerkbeveiligingsgroep (NSG) voor de gemaakte VM die moet worden gebruikt. Als dit niet is opgegeven, wordt er een naam gegenereerd.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Size
De grootte van de virtuele machine. De standaardwaarde is: Standard_DS1_v2.
Type: | String |
Position: | Named |
Default value: | Standard_DS1_v2 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SubnetAddressPrefix
Het adresvoorvoegsel voor het subnet dat wordt gemaakt voor de virtuele machine.
Type: | String |
Position: | Named |
Default value: | 192.168.1.0/24 |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SubnetName
De naam van een nieuw (of bestaand) subnet voor de gemaakte VM die moet worden gebruikt. Als dit niet is opgegeven, wordt er een naam gegenereerd.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-SystemAssignedIdentity
Als de parameter aanwezig is, wordt aan de VIRTUELE machine een beheerde systeemidentiteit toegewezen die automatisch wordt gegenereerd.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Tag
Hiermee geeft u op dat resources en resourcegroepen kunnen worden gelabeld met een set naam-waardeparen. Door tags toe te voegen aan resources kunt u resources groeperen in resourcegroepen en uw eigen weergaven maken. Elke resource of resourcegroep kan maximaal 15 tags hebben.
Type: | Hashtable |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-UserAssignedIdentity
De naam van een beheerde service-identiteit die moet worden toegewezen aan de virtuele machine.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VirtualNetworkName
De naam van een nieuw (of bestaand) virtueel netwerk voor de gemaakte VM die moet worden gebruikt. Als dit niet is opgegeven, wordt er een naam gegenereerd.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-VM
Hiermee geeft u een lokale virtuele machine te maken. Gebruik de cmdlet New-AzureRmVMConfig om een object voor een virtuele machine op te halen. Andere cmdlets kunnen worden gebruikt om de virtuele machine te configureren, zoals Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage en Add-AzureRmVMNetworkInterface.
Type: | PSVirtualMachine |
Aliassen: | VMProfile |
Position: | 2 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-WhatIf
Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Zone
Hiermee geeft u de zonelijst van de virtuele machine.
Type: | String[] |
Position: | 3 |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
String[]