New-AzVM

Crée une machine virtuelle.

Syntax

New-AzVM
   [[-ResourceGroupName] <String>]
   [[-Location] <String>]
   [-EdgeZone <String>]
   [[-Zone] <String[]>]
   [-PublicIpSku <String>]
   -Name <String>
   -Credential <PSCredential>
   [-NetworkInterfaceDeleteOption <String>]
   [-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]
   [-OSDiskDeleteOption <String>]
   [-DataDiskSizeInGb <Int32[]>]
   [-DataDiskDeleteOption <String>]
   [-EnableUltraSSD]
   [-ProximityPlacementGroupId <String>]
   [-HostId <String>]
   [-VmssId <String>]
   [-Priority <String>]
   [-EvictionPolicy <String>]
   [-MaxPrice <Double>]
   [-EncryptionAtHost]
   [-HostGroupId <String>]
   [-SshKeyName <String>]
   [-GenerateSshKey]
   [-CapacityReservationGroupId <String>]
   [-UserData <String>]
   [-ImageReferenceId <String>]
   [-PlatformFaultDomain <Int32>]
   [-HibernationEnabled]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-DiskControllerType <String>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzVM
   [-ResourceGroupName] <String>
   [-Location] <String>
   [-EdgeZone <String>]
   [-VM] <PSVirtualMachine>
   [[-Zone] <String[]>]
   [-DisableBginfoExtension]
   [-Tag <Hashtable>]
   [-LicenseType <String>]
   [-AsJob]
   [-OSDiskDeleteOption <String>]
   [-DataDiskDeleteOption <String>]
   [-SshKeyName <String>]
   [-GenerateSshKey]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
New-AzVM
   [[-ResourceGroupName] <String>]
   [[-Location] <String>]
   [-EdgeZone <String>]
   [-PublicIpSku <String>]
   -Name <String>
   [-NetworkInterfaceDeleteOption <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]
   [-OSDiskDeleteOption <String>]
   [-DataDiskSizeInGb <Int32[]>]
   [-DataDiskDeleteOption <String>]
   [-EnableUltraSSD]
   [-ProximityPlacementGroupId <String>]
   [-HostId <String>]
   [-VmssId <String>]
   [-Priority <String>]
   [-EvictionPolicy <String>]
   [-MaxPrice <Double>]
   [-EncryptionAtHost]
   [-HostGroupId <String>]
   [-CapacityReservationGroupId <String>]
   [-UserData <String>]
   [-PlatformFaultDomain <Int32>]
   [-HibernationEnabled]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

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 machine virtuelle.
Utilisez ensuite les applets de commande suivantes pour définir différentes propriétés de l’objet de machine virtuelle :

Exemples

Exemple 1 : Créer une machine virtuelle

New-AzVM -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

## 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-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

$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-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id

$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2022-datacenter-azure-edition-core' -Version latest

New-AzVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose

Cette commande crée une machine virtuelle à partir d’une image de la Place de marché sans adresse IP publique.

Exemple 4 : Créer une machine virtuelle avec une valeur UserData :

# VM Account
$VMLocalAdminUser = "LocalAdminUser";
$VMLocalAdminSecurePassword = ConvertTo-SecureString "Password" -AsPlainText -Force;

# Azure Account
$LocationName = "eastus";
$ResourceGroupName = "MyResourceGroup";

# VM Profile & Hardware
$VMName = 'v' + $ResourceGroupName;
$domainNameLabel = "d1" + $ResourceGroupName;
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);

# Create UserData value
$text = "text for UserData";
$bytes = [System.Text.Encoding]::Unicode.GetBytes($text);
$userData = [Convert]::ToBase64String($bytes);

# Create VM
New-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -Credential $Credential -DomainNameLabel $domainNameLabel -UserData $userData;
$vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $VMName -UserData;

La valeur UserData doit toujours être encodée en Base64.

Exemple 5 : Création d’une machine virtuelle avec un sous-réseau existant dans un autre groupe de ressources

$UserName = "User"
$Password = ConvertTo-SecureString "############" -AsPlainText -Force
$psCred = New-Object System.Management.Automation.PSCredential($UserName, $Password)

$Vnet = $(Get-AzVirtualNetwork -ResourceGroupName ResourceGroup2 -Name VnetName)
$PIP = (Get-AzPublicIpAddress -ResourceGroupName ResourceGroup2 -Name PublicIPName)

$NIC = New-AzNetworkInterface -Name NICname -ResourceGroupName ResourceGroup2 -Location SouthCentralUS -SubnetId $Vnet.Subnets[1].Id -PublicIpAddressId $PIP.Id
$VirtualMachine = New-AzVMConfig -VMName VirtualMachineName -VMSize Standard_D4s_v3
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName computerName -Credential $psCred -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2022-datacenter-azure-edition-core' -Version latest
New-AzVM -ResourceGroupName ResourceGroup1 -Location SouthCentralUS -VM $VirtualMachine

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.

$resourceGroupName= "ResourceGroupName";
$loc = 'eastus';
New-AzResourceGroup -Name $resourceGroupName -Location $loc -Force;

$domainNameLabel = "d1" + $resourceGroupName;
$vmname = "vm" + $resourceGroupName;
$platformFaultDomainVMDefaultSet = 2;
$vmssFaultDomain = 3;
$securePassword = <PASSWORD> | ConvertTo-SecureString -AsPlainText -Force;
$user = <USERNAME>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
$vmssName = "vmss" + $resourceGroupName;

$vmssConfig = New-AzVmssConfig -Location $loc -PlatformFaultDomainCount $vmssFaultDomain;
$vmss = New-AzVmss -ResourceGroupName $resourceGroupName -Name $vmssName -VirtualMachineScaleSet $vmssConfig;

$vm = New-AzVM -ResourceGroupName $resourceGroupName -Name $vmname -Credential $cred -DomainNameLabel $domainNameLabel -PlatformFaultDomain $platformFaultDomainVMDefaultSet -VmssId $vmss.Id;

Cet exemple crée une machine virtuelle dans le cadre d’un VMSS avec une valeur PlatformFaultDomain.

Exemple 7 : Créer une machine virtuelle à l’aide de l’alias -Image.

$resourceGroupName= "<Resource Group Name>"
$loc = "<Azure Region>"
$domainNameLabel = "<Domain Name Label>"
$vmname = "<Virtual Machine Name>"
$securePassword = "<Password>" | ConvertTo-SecureString -AsPlainText -Force
$user = "<Username>"
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword)

New-AzResourceGroup -Name $resourceGroupName -Location $loc -Force

# Create a VM using an Image alias.
$vmname = 'v' + $resourceGroupName
$domainNameLabel = "d" + $resourceGroupName
$vm = New-AzVM -ResourceGroupName $resourceGroupName -Name $vmname -Credential $cred -Image OpenSuseLeap154Gen2 -DomainNameLabel $domainNameLabel

$vm = Get-AzVM -ResourceGroupName $resourceGroupName -Name $vmname

Cet exemple crée une machine virtuelle à l’aide du paramètre -Image, en fournissant de nombreuses valeurs par défaut à la machine virtuelle.

Exemple 8 : Création d’une machine virtuelle pour Trusted Launch SecurityType.

$rgname = <Resource Group Name>;
$loc = "eastus";
 
New-AzResourceGroup -Name $rgname -Location $loc -Force;    
# VM Profile & Hardware       
$domainNameLabel1 = 'd1' + $rgname;
$vmsize = 'Standard_D4s_v3';
$vmname1 = 'v' + $rgname;
$imageName = "Win2022AzureEdition";
$disable = $false;
$enable = $true;
$securityType = "TrustedLaunch";

$password = <Password>;
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force;  
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);

# VM creation using Simple parameterset
New-AzVM -ResourceGroupName $rgname -Location $loc -Name $vmname1 -Credential $cred -Size $vmsize -Image $imageName -DomainNameLabel $domainNameLabel1 -SecurityType $securityType;
$vm1 = Get-AzVM -ResourceGroupName $rgname -Name $vmname1;

# Verify Values
#$vm1.SecurityProfile.SecurityType "TrustedLaunch";
#$vm1.SecurityProfile.UefiSettings.VTpmEnabled $true;
#$vm1.SecurityProfile.UefiSettings.SecureBootEnabled $true;

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. Veuillez case activée la page de fonctionnalité Lancement approuvé pour plus d’informations.

Exemple 9 : Créer une machine virtuelle avec lancement approuvé activé par defualt à l’aide de New-AzVMConfig.

$rgname = "<Resource Group Name>";
$loc = "<Azure Region>";
$vmname = 'vm' + $rgname;
$domainNameLabel = "d1" + $rgname;
$vnetname = "vn" + $rgname;
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$OSDiskName = $vmname + "-osdisk";
$NICName = $vmname+ "-nic";
$NSGName = $vmname + "-NSG";
$OSDiskSizeinGB = 128;
$VMSize = "Standard_DS2_v2";
$PublisherName = "MicrosoftWindowsServer";
$Offer = "WindowsServer";
$SKU = "2022-datacenter-azure-edition";
$version = "latest";
$password = "<Password>";
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force;  
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# Network setup
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $RGName -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $RGName -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;
# VM
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $VMSize;
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmName -Credential $cred;
Set-AzVMSourceImage -VM $vmConfig -PublisherName $PublisherName -Offer $Offer -Skus $SKU -Version $version ;
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;
New-AzVM -ResourceGroupName $rgname -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;
# Verify $vm.SecurityProfile.SecurityType is TrustedLaunch
# Verify $vm.SecurityProfile.UefiSettings.SecureBootEnabled is true.
# Verify $vm.SecurityProfile.UefiSettings.VTpmEnabled is true.

Cet exemple montre comment créer une machine virtuelle avec une image Gen2 valide, ce qui permet à la machine virtuelle de choisir par défaut TrustedLaunch, ce qui nécessite des images Gen2. Veuillez case activée la page de fonctionnalité Lancement approuvé pour plus d’informations.

Exemple 10 : Crée une machine virtuelle avec TrustedLaunch activée par défaut.

$rgname = "<Resource Group Name>";
$loc = "<Azure Region>";
$vmname = 'vm' + $rgname;
$domainNameLabel = "d1" + $rgname;
$password = "<Password>";
$securePassword = $password | ConvertTo-SecureString -AsPlainText -Force;  
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# Create VM
$vm = New-AzVM -ResourceGroupName $rgname -Name $vmname -Credential $cred -DomainNameLabel $domainNameLabel; 
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;
# Verify $vm.SecurityProfile.SecurityType is TrustedLaunch.
# Verify the $vm.StorageProfile.ImageReference.Sku has defaulted to "2022-datacenter-azure-edition", a Gen2 image.

Cet exemple montre comment l’appel d’applet de commande simple avec des paramètres minimaux entraîne une machine virtuelle compatible TrustedLaunch avec une image Gen2. Veuillez case activée la page de fonctionnalité Lancement approuvé pour plus d’informations.

=======

Paramètres

-AddressPrefix

Préfixe d’adresse du réseau virtuel qui sera créé pour la machine virtuelle.

Type:String
Position:Named
Default value:192.168.0.0/16
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AllocationMethod

Méthode d’allocation IP pour l’adresse IP publique qui sera créée pour la machine virtuelle.

Type:String
Accepted values:Static, Dynamic
Position:Named
Default value:Static
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Exécutez l’applet de commande en arrière-plan et retournez un travail pour suivre la progression.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AvailabilitySetName

Spécifie un nom pour le groupe à haute disponibilité.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CapacityReservationGroupId

ID du groupe de réservations de capacité utilisé pour allouer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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 », « test1 », « user3 », « 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.

Type:PSCredential
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-DataDiskDeleteOption

Spécifie l’option de suppression de disque de données après la suppression de la machine virtuelle. Les options sont Détacher, Supprimer

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DataDiskSizeInGb

Spécifie les tailles des disques de données en Go.

Type:Int32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultProfile

Informations d’identification, compte, locataire et abonnement utilisés pour la communication avec Azure.

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisableBginfoExtension

Indique que cette applet de commande n’installe pas l’extension BG Info sur la machine virtuelle.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DiskControllerType

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), veuillez case activée la fonctionnalité HyperVGenerations retournée dans le cadre des fonctionnalités de la 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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EdgeZone

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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableSecureBoot

Spécifie si le démarrage sécurisé doit être activé sur la machine virtuelle.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EnableUltraSSD

Utilisez des disques UltraSSD pour la machine virtuelle.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EnableVtpm

Spécifie si vTPM doit être activé sur la machine virtuelle.

Type:Nullable<T>[Boolean]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-EncryptionAtHost

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.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-EvictionPolicy

Stratégie d’éviction pour la machine virtuelle Azure Spot. Les valeurs prises en charge sont « Libérer » et « Supprimer ».

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-GenerateSshKey

Générez une paire de clés publique/privée SSH et créez une ressource de clé publique SSH sur Azure.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HibernationEnabled

Indicateur qui active ou désactive la fonctionnalité de mise en veille prolongée sur la machine virtuelle.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-HostGroupId

Spécifie le groupe hôte dédié dans lequel réside la machine virtuelle.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-HostId

ID de l’hôte

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Image

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.

Type:String
Aliases:ImageName
Position:Named
Default value:Win2016Datacenter
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ImageReferenceId

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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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. 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 :

  • RHEL_BYOS (pour RHEL)
  • SLES_BYOS (pour SUSE)
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Location

Spécifie un emplacement pour la machine virtuelle.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-MaxPrice

Prix maximal de la facturation d’une machine virtuelle de faible priorité.

Type:Double
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Nom de la ressource de machine virtuelle.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NetworkInterfaceDeleteOption

Spécifie l’action à effectuer sur la ressource NetworkInterface lorsque la machine virtuelle est supprimée. Les options sont les suivantes : Détacher, Supprimer.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-OSDiskDeleteOption

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PlatformFaultDomain

Spécifie le domaine d’erreur de la machine virtuelle.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Priority

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 ».

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ProximityPlacementGroupId

ID de ressource du groupe de placement de proximité à utiliser avec cette machine virtuelle.

Type:String
Aliases:ProximityPlacementGroup
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PublicIpSku

Spécifie le nom de la référence SKU IP publique

Les valeurs acceptées sont « De base » et « Standard »

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ResourceGroupName

Spécifie le nom d’un groupe de ressources.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SecurityType

Spécifie le SecurityType de la machine virtuelle. Il doit être défini sur n’importe quelle valeur spécifiée pour activer Uefi Paramètres. Par défaut, Uefi Paramètres ne sera pas activé, sauf si cette propriété est définie.

Type:String
Accepted values:TrustedLaunch, ConfidentialVM, Standard
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SharedGalleryImageId

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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Size

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.

Type:String
Position:Named
Default value:Standard_D2s_v3
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SshKeyName

Nom de la ressource de clé publique SSH.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetAddressPrefix

Préfixe d’adresse du sous-réseau qui sera créé pour la machine virtuelle.

Type:String
Position:Named
Default value:192.168.1.0/24
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-UserAssignedIdentity

Nom d’une identité de service managé qui doit être affectée à la machine virtuelle.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UserData

UserData pour la machine virtuelle, qui sera encodée en base 64. Le client ne doit pas transmettre de secrets ici.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-vCPUCountAvailable

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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-vCPUCountPerCore

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é.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

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.

Type:PSVirtualMachine
Aliases:VMProfile
Position:2
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-VmssId

ID du groupe de machines virtuelles identiques auquel cette machine virtuelle sera associée

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Zone

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.

Type:String[]
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

String

PSVirtualMachine

String[]

Hashtable

Sorties

PSAzureOperationResponse

PSVirtualMachine