New-AzureRmVM
Crée une machine virtuelle.
Avertissement
Le module AzureRM PowerShell a été officiellement déconseillé depuis le 29 février 2024. Les utilisateurs sont invités à migrer d’AzureRM vers le module Az PowerShell afin de s’assurer d’une prise en charge et des mises à jour continues.
Bien que le module AzureRM puisse toujours fonctionner, il n’est plus conservé ou pris en charge, plaçant toute utilisation continue à la discrétion et au risque de l’utilisateur. Consultez nos ressources sur la migration pour obtenir des conseils sur la transition vers le module Az.
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
L’applet de commande New-AzureRmVM crée une machine virtuelle dans Azure.
Cette applet de commande prend un objet de machine virtuelle comme entrée.
Utilisez l’applet de commande New-AzureRmVMConfig pour créer un objet de machine virtuelle.
D’autres applets de commande peuvent être utilisées pour configurer la machine virtuelle, comme Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface et Set-AzureRmVMOSDisk.
Il SimpleParameterSet
fournit une méthode pratique pour créer une machine virtuelle en rendant les arguments de création de machine virtuelle courants facultatifs.
Exemples
Exemple 1 : Créer une machine virtuelle
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
Cet exemple de script montre comment créer une machine virtuelle. Le script demande un nom d’utilisateur et un mot de passe pour la machine virtuelle. Ce script utilise plusieurs autres applets de commande.
Exemple 2 : Créer une machine virtuelle à partir d’une image utilisateur personnalisée
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
Cet exemple montre comment utiliser une image de système d’exploitation personnalisée généralisée et généralisée et y attacher un disque de données, provisionner un nouveau réseau, déployer le disque dur virtuel et l’exécuter. Ce script peut être utilisé pour l’approvisionnement automatique, car il utilise les informations d’identification d’administrateur de machine virtuelle locale inline au lieu d’appeler Get-Credential , ce qui nécessite une interaction utilisateur. Ce script suppose que vous êtes déjà connecté à votre compte Azure. Vous pouvez confirmer votre état de connexion à l’aide de l’applet de commande Get-AzureSubscription .
Exemple 3 : Créer une machine virtuelle à partir d’une image de la Place de marché sans adresse IP publique
$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
Cet exemple provisionne un nouveau réseau et déploie une machine virtuelle Windows à partir de la Place de marché sans créer d’adresse IP publique ou de groupe de sécurité réseau. Ce script peut être utilisé pour l’approvisionnement automatique, car il utilise les informations d’identification d’administrateur de machine virtuelle locale inline au lieu d’appeler Get-Credential , ce qui nécessite une interaction utilisateur.
Paramètres
-AddressPrefix
Préfixe d’adresse du réseau virtuel qui sera créé pour la machine virtuelle.
Type: | String |
Position: | Named |
Valeur par défaut: | 192.168.0.0/16 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-AllocationMethod
Méthode d’allocation IP pour l’adresse IP publique qui sera créée pour la machine virtuelle.
Type: | String |
Valeurs acceptées: | Static, Dynamic |
Position: | Named |
Valeur par défaut: | Static |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-AsJob
Exécutez l’applet de commande en arrière-plan et retournez un travail pour suivre la progression.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-AvailabilitySetName
Spécifie un nom pour le groupe à haute disponibilité.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Confirm
Vous demande une confirmation avant d’exécuter l’applet de commande.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Credential
Informations d’identification de l’administrateur pour la machine virtuelle.
Type: | PSCredential |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DataDiskSizeInGb
Spécifie les tailles des disques de données en Go.
Type: | Int32[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DefaultProfile
Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.
Type: | IAzureContextContainer |
Alias: | AzureRmContext, AzureCredential |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DisableBginfoExtension
Indique que cette applet de commande n’installe pas l’extension BG Info sur la machine virtuelle.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DiskFile
Chemin d’accès local au fichier de disque dur virtuel à charger dans le cloud et pour créer la machine virtuelle, et il doit avoir « .vhd » comme suffixe.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DomainNameLabel
Étiquette de sous-domaine pour le nom de domaine complet (FQDN) de la machine virtuelle. Cela prendra la forme {domainNameLabel}.{location}.cloudapp.azure.com
.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Image
Nom de l’image conviviale sur laquelle la machine virtuelle sera générée. Ces éléments sont les suivants : Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.
Type: | String |
Alias: | ImageName |
Position: | Named |
Valeur par défaut: | Win2016Datacenter |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-LicenseType
Spécifie un type de licence, qui indique que l’image ou le disque de la machine virtuelle a été concédé sous licence locale. Cette valeur est utilisée uniquement pour les images qui contiennent le système d’exploitation Windows Server. Les valeurs valides pour ce paramètre sont :
- Windows_Client
- Windows_Server Cette valeur ne peut pas être mise à jour. Si vous spécifiez ce paramètre pour une mise à jour, la valeur doit correspondre à la valeur initiale de la machine virtuelle.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Linux
Indique si le fichier disque est pour la machine virtuelle Linux, s’il est spécifié ; ou Windows, s’il n’est pas spécifié par défaut.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Location
Spécifie un emplacement pour la machine virtuelle.
Type: | String |
Position: | 1 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Name
Nom de la ressource de machine virtuelle.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-OpenPorts
Liste des ports à ouvrir sur le groupe de sécurité réseau (NSG) pour la machine virtuelle créée. La valeur par défaut dépend du type d’image choisi (par exemple, Windows : 3389, 5985 et Linux : 22).
Type: | Int32[] |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-PublicIpAddressName
Nom d’une adresse IP publique (ou existante) pour la machine virtuelle créée à utiliser. S’il n’est pas spécifié, un nom est généré.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-ResourceGroupName
Spécifie le nom d’un groupe de ressources.
Type: | String |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SecurityGroupName
Nom d’un groupe de sécurité réseau (NSG) nouveau (ou existant) que la machine virtuelle créée doit utiliser. S’il n’est pas spécifié, un nom est généré.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Size
Taille de la machine virtuelle. La valeur par défaut est : Standard_DS1_v2.
Type: | String |
Position: | Named |
Valeur par défaut: | Standard_DS1_v2 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SubnetAddressPrefix
Préfixe d’adresse du sous-réseau qui sera créé pour la machine virtuelle.
Type: | String |
Position: | Named |
Valeur par défaut: | 192.168.1.0/24 |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SubnetName
Nom d’un sous-réseau (ou existant) pour la machine virtuelle créée à utiliser. S’il n’est pas spécifié, un nom est généré.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-SystemAssignedIdentity
Si le paramètre est présent, la machine virtuelle reçoit une identité de système managée générée automatiquement.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Tag
Spécifie que les ressources et les groupes de ressources peuvent être étiquetés avec un ensemble de paires nom-valeur. L’ajout de balises à des ressources vous permet de regrouper les ressources entre les groupes de ressources et de créer vos propres vues. Chaque ressource ou groupe de ressources peut inclure un maximum de 15 balises.
Type: | Hashtable |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-UserAssignedIdentity
Nom d’une identité de service managé qui doit être affectée à la machine virtuelle.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-VirtualNetworkName
Nom d’un réseau virtuel (ou existant) que la machine virtuelle créée doit utiliser. S’il n’est pas spécifié, un nom est généré.
Type: | String |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-VM
Spécifie une machine virtuelle locale à créer. Pour obtenir un objet de machine virtuelle, utilisez l’applet de commande New-AzureRmVMConfig. D’autres applets de commande peuvent être utilisées pour configurer la machine virtuelle, comme Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage et Add-AzureRmVMNetworkInterface.
Type: | PSVirtualMachine |
Alias: | VMProfile |
Position: | 2 |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-WhatIf
Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.
Type: | SwitchParameter |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Zone
Spécifie la liste de zones de la machine virtuelle.
Type: | String[] |
Position: | 3 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
String[]