L’applet de commande New-AzVM crée une machine virtuelle dans Azure.
Cette applet de commande prend un objet de machine virtuelle comme entrée. L’applet de commande New-AzVM crée un compte de stockage pour les diagnostics de démarrage s’il n’en existe pas déjà.
Utilisez l’applet de commande New-AzVMConfig pour créer un objet de machine virtuelle.
Utilisez ensuite les applets de commande suivantes pour définir différentes propriétés de l’objet de machine virtuelle :
Set-AzVMOSDisk pour définir le disque du système d’exploitation (profil de stockage).
Get-AzComputeResourceSku peut également être utilisé pour déterminer les tailles de machine virtuelle disponibles pour votre abonnement et votre région.
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.
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
## VM Account
# Credentials for Local Admin account you created in the sysprepped (generalized) vhd image
$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -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-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$securityTypeStnd = "Standard"
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize -SecurityType $securityTypeStnd
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows
New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose -Zone @("1")
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-AzSubscription .
Exemple 3 : Créer une machine virtuelle à partir d’une image de la Place de marché sans adresse IP publique
Cet exemple déploie une machine virtuelle Windows à partir de la Place de marché dans un groupe de ressources avec un sous-réseau existant dans un autre groupe de ressources.
Exemple 6 : Création d’une machine virtuelle dans le cadre d’un vmSS avec une valeur PlatformFaultDomain.
Cet exemple montre comment créer une machine virtuelle avec le type de sécurité TrustedLaunch et définir les indicateurs EnableSecureBoot et EnableVtpm comme True par défaut. Une machine virtuelle de lancement approuvé nécessite une image Gen2. Pour plus d’informations, consultez la page de fonctionnalité Lancement approuvé .
Exemple 9 : Créer une machine virtuelle avec lancement approuvé activé par défaut à l’aide de New-AzVMConfig.
Spécifie s’il faut installer implicitement l’extension ProxyAgent. Cette option est actuellement applicable uniquement pour le système d’exploitation Linux.
Spécifie si les disques régionaux doivent être alignés/déplacés vers la zone de machine virtuelle. Cela s’applique uniquement aux machines virtuelles dont la propriété de placement est définie. Veuillez noter que cette modification est irréversible.
Informations d’identification de l’administrateur pour la machine virtuelle.
Nom d’utilisateur Restriction:
Windows : Impossible de contenir des caractères spéciaux /"[] :|<>+= ;, ?*@> ou se terminez par « ».
Linux : le nom d’utilisateur ne doit contenir que des lettres, des chiffres, des traits d’union et des traits de soulignement et ne peut pas commencer par un trait d’union ou un nombre. Valeurs non autorisées : « administrateur », « admin », « user », « user1 », « test », « user2 », « test1 », « user3 », « admin1 », « admin1 », « 1 », « 123 », « a », « actuser », « adm », « admin2 », « aspnet », « backup », « console », « david », « guest », « john », « owner », « root », « server », « sql », « support », « support_388945a0 », « sys », « test2 », « test3 », « user4 », « user5 ». Longueur minimale : 1 caractère Longueur maximale : 20 caractères pour Windows, 64 caractères pour Linux
Mot de passe
Doit avoir 3 des éléments suivants : 1 caractère minuscule, 1 caractère majuscule, 1 nombre et 1 caractère spécial.
La valeur doit être comprise entre 12 et 123 caractères.
Spécifie le type de contrôleur de disque configuré pour la machine virtuelle et VirtualMachineScaleSet. Cette propriété est uniquement prise en charge pour les machines virtuelles dont le disque du système d’exploitation et la référence SKU de machine virtuelle prennent en charge la génération 2 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), vérifiez la fonctionnalité HyperVGenerations retournée dans le cadre des fonctionnalités de référence SKU de machine virtuelle dans la réponse de l’API SKU Microsoft.Compute pour la région contient V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list). Pour plus d’informations sur les types de contrôleurs de disque pris en charge, consultez https://aka.ms/azure-diskcontrollertypes.
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.
Étiquette de sous-domaine pour le nom de domaine complet (FQDN) de la machine virtuelle. Cela prendra la forme {domainNameLabel}.{location}.cloudapp.azure.com.
Définit le nom de la zone de périphérie. Si elle est définie, la requête est routée vers la zone de périphérie spécifiée au lieu de la région principale.
La propriété EncryptionAtHost peut être utilisée par l’utilisateur dans la demande pour activer ou désactiver le chiffrement de l’hôte pour la machine virtuelle ou le groupe de machines virtuelles identiques.
Cela active le chiffrement pour tous les disques, y compris le disque Resource/Temp sur l’hôte lui-même.
Valeur par défaut : le chiffrement sur l’hôte est désactivé, sauf si cette propriété a la valeur true pour la ressource.
Cette propriété complète la propriété « zonePlacementPolicy ». Si « zonePlacementPolicy » est défini sur « Any », la zone de disponibilité sélectionnée par le système ne doit pas être présente dans la liste des zones de disponibilité passées avec « excludeZones ». Si « excludeZones » n’est pas fourni, toutes les zones de disponibilité de la région sont prises en compte pour la sélection.
permet d’effectuer une demande conditionnelle pour les méthodes PUT et autres méthodes non sécurisées. Le serveur retourne uniquement les ressources demandées si la ressource correspond à l’une des valeurs ETag répertoriées. Omettez cette valeur pour toujours remplacer la ressource actuelle. Spécifiez la dernière valeur ETag vue pour empêcher le remplacement accidentel des modifications simultanées.
Utilisé pour effectuer une requête conditionnelle pour les méthodes GET et HEAD. Le serveur retourne uniquement les ressources demandées si aucune des valeurs ETag répertoriées ne correspond à l’entité actuelle. Utilisé pour effectuer une requête conditionnelle pour les méthodes GET et HEAD. Le serveur retourne uniquement les ressources demandées si aucune des valeurs ETag répertoriées ne correspond à l’entité actuelle. Définissez la valeur « * » pour autoriser la création d’un nouveau jeu d’enregistrements, mais pour empêcher la mise à jour d’un jeu d’enregistrements existant. D’autres valeurs entraînent une erreur du serveur, car elles ne sont pas prises en charge.
Nom de l’image conviviale sur laquelle la machine virtuelle sera générée. Les alias disponibles sont : Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Spécifie l’ID unique de l’image de galerie partagée pour le déploiement de machines virtuelles. Cette opération peut être extraite de l’appel GET de l’image de galerie partagée.
Cette propriété complète la propriété « zonePlacementPolicy ». Si « zonePlacementPolicy » est défini sur « Any », la zone de disponibilité sélectionnée par le système doit être présente dans la liste des zones de disponibilité passées avec « includeZones ». Si « includeZones » n’est pas fourni, toutes les zones de disponibilité de la région sont prises en compte pour la sélection.
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.
Les valeurs possibles pour Windows Server sont les suivantes :
Windows_Client
Windows_Server
Les valeurs possibles pour le système d’exploitation Linux Server sont les suivantes :
Spécifie l’action à effectuer sur la ressource NetworkInterface lorsque la machine virtuelle est supprimée. Les options sont les suivantes : Détacher, Supprimer.
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).
Spécifie l’option de suppression de disque du système d’exploitation après la suppression de la machine virtuelle. Les options sont Détacher, Supprimer
Priorité de la machine virtuelle. Seules les valeurs prises en charge sont « Regular », « Spot » et « Low ».
« Normal » est destiné à une machine virtuelle normale.
« Spot » est destiné à une machine virtuelle spot.
'Low' est également destiné à la machine virtuelle spot, mais est remplacé par 'Spot'. Utilisez « Spot » au lieu de « Low ».
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é.
Spécifie le SecurityType de la machine virtuelle. Il doit être défini sur n’importe quelle valeur spécifiée pour activer UefiSettings. Par défaut, UefiSettings n’est pas activé, sauf si cette propriété est définie.
Spécifie l’ID unique de l’image de galerie partagée pour le déploiement de machines virtuelles. Cette opération peut être extraite de l’appel GET de l’image de galerie partagée.
Taille de la machine virtuelle.
Get-AzComputeResourceSku peut être utilisé pour connaître les tailles disponibles pour votre abonnement et votre région.
La valeur par défaut est : Standard_D2s_v3.
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 avoir un maximum de 15 balises.
Spécifie le nombre de processeurs virtuels disponibles pour la machine virtuelle. Lorsque cette propriété n’est pas spécifiée dans le corps de la requête, le comportement par défaut consiste à le définir sur la valeur des processeurs virtuels disponibles pour cette taille de machine virtuelle exposée dans la réponse api de liste de toutes les tailles de machine virtuelle disponibles dans une région.
Spécifie le ratio de cœurs virtuels en cœurs physiques. Lorsque cette propriété n’est pas spécifiée dans le corps de la requête, le comportement par défaut est défini sur la valeur de vCPUsPerCore pour la taille de machine virtuelle exposée dans la réponse d’API de liste de toutes les tailles de machine virtuelle disponibles dans une région. La définition de cette propriété sur 1 signifie également que l’hyperthreading est désactivé.
Spécifie une machine virtuelle locale à créer.
Pour obtenir un objet de machine virtuelle, utilisez l’applet de commande New-AzVMConfig.
D’autres applets de commande peuvent être utilisées pour configurer la machine virtuelle, comme Set-AzVMOperatingSystem, Set-AzVMSourceImage et Add-AzVMNetworkInterface.
Spécifie la zone de la machine virtuelle. Bien qu’elle prenne en charge un tableau de zones, les machines virtuelles ne prennent pas en charge plusieurs zones de disponibilité.
La valeur autorisée dépend des fonctionnalités de la région. La valeur autorisée est normalement 1, 2 ou 3. Plus d’informations sur les zones de disponibilité Azure.
Spécifie la stratégie de placement de la machine virtuelle dans la zone de disponibilité. Les valeurs possibles sont les suivantes : n’importe quelle : une zone de disponibilité est automatiquement choisie par le système dans le cadre de la création d’une machine virtuelle.
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner des problèmes et des demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.