New-AzVM

Consente di creare una macchina virtuale.

Sintassi

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

Descrizione

Il cmdlet New-AzVM crea una macchina virtuale in Azure. Questo cmdlet accetta un oggetto macchina virtuale come input. Il cmdlet New-AzVM creerà un nuovo account di archiviazione per la diagnostica di avvio, se non ne esiste già uno.

Usare il cmdlet New-AzVMConfig per creare un oggetto macchina virtuale.
Usare quindi i cmdlet seguenti per impostare proprietà diverse dell'oggetto macchina virtuale:

Esempio

Esempio 1: Creare una macchina virtuale

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

Questo script di esempio illustra come creare una macchina virtuale. Lo script chiederà un nome utente e una password per la macchina virtuale. Questo script usa diversi altri cmdlet.

Esempio 2: Creare una macchina virtuale da un'immagine utente personalizzata

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

In questo esempio viene accettata un'immagine del sistema operativo sys-prepped, generalizzata personalizzata esistente e viene collegato un disco dati, ne effettua il provisioning, distribuisce il disco rigido virtuale ed esegue il disco rigido virtuale. Questo script può essere usato per il provisioning automatico perché usa le credenziali di amministratore della macchina virtuale locale inline anziché chiamare Get-Credential che richiede l'interazione dell'utente. Questo script presuppone che l'utente sia già connesso all'account Azure. È possibile confermare lo stato di accesso usando il cmdlet Get-AzSubscription .

Esempio 3: Creare una macchina virtuale da un'immagine del marketplace senza un indirizzo IP pubblico

$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

Questo comando crea una macchina virtuale da un'immagine del marketplace senza un indirizzo IP pubblico.

Esempio 4: Creare una macchina virtuale con un valore 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;

Il valore UserData deve essere sempre codificato in Base64.

Esempio 5: Creazione di una nuova macchina virtuale con una subnet esistente in un altro gruppo di risorse

$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

Questo esempio distribuisce una macchina virtuale Windows dal marketplace in un gruppo di risorse con una subnet esistente in un altro gruppo di risorse.

Esempio 6: Creazione di una nuova macchina virtuale come parte di un set di scalabilità di macchine virtuali con un valore 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;

Questo esempio crea una nuova macchina virtuale come parte di un set di scalabilità di macchine virtuali con un valore PlatformFaultDomain.

Esempio 7: Creare una macchina virtuale usando 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

Questo esempio crea una nuova macchina virtuale usando il parametro -Image, fornendo molti valori predefiniti alla macchina virtuale.

Esempio 8: Creazione di una macchina virtuale per SecurityType di avvio attendibile.

$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;

Questo esempio crea una nuova macchina virtuale con il tipo di sicurezza TrustedLaunch e imposta i flag EnableSecureBoot e EnableVtpm come True per impostazione predefinita. Una macchina virtuale di avvio attendibile richiede un'immagine gen2. Per altre informazioni, vedere la pagina della funzionalità Avvio attendibile.

Esempio 9: Creare una macchina virtuale con Avvio attendibile attivato da Defualt usando 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.

Questo esempio illustra come creare una macchina virtuale con un'immagine Gen2 valida, consentendo alla macchina virtuale di impostare come predefinito TrustedLaunch, che richiede immagini Gen2. Per altre informazioni, vedere la pagina della funzionalità Avvio attendibile.

Esempio 10: crea una macchina virtuale con TrustedLaunch attivato per impostazione predefinita.

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

Questo esempio mostra come la semplice chiamata di cmdlet con parametri minimi comporterà una macchina virtuale abilitata per TrustedLaunch con un'immagine Gen2. Per altre informazioni, vedere la pagina della funzionalità Avvio attendibile.

=======

Parametri

-AddressPrefix

Prefisso dell'indirizzo per la rete virtuale che verrà creata per la macchina virtuale.

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

-AllocationMethod

Metodo di allocazione IP per l'indirizzo IP pubblico che verrà creato per la macchina virtuale.

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

-AsJob

Eseguire il cmdlet in background e restituire un processo per tenere traccia dello stato di avanzamento.

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

-AvailabilitySetName

Specifica un nome per il set di disponibilità.

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

-CapacityReservationGroupId

ID del gruppo di prenotazioni di capacità utilizzato per allocare.

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

-Confirm

Richiede conferma prima di eseguire il cmdlet.

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

-Credential

Credenziali di amministratore per la macchina virtuale.

Nome utente
Restrizione:
Windows: Impossibile contenere caratteri speciali /""[]:|<>+=;,?*@& or end in "."
Linux: il nome utente deve contenere solo lettere, numeri, trattini e caratteri di sottolineatura e non iniziare con un trattino o un numero.
Valori non consentiti: "administrator", "admin", "user", "user1", "test", "user2", "test1", "user3", "admin1", "1", "123", "a", "actuser", "adm", "admin"2", "aspnet", "backup", "console", "david", "guest", "john", "owner", "root", "server", "sql", "support", "support_388945a0", "sys", "test2", "test3", "user4", "user5".
Lunghezza minima: 1 carattere
Lunghezza massima: 20 caratteri per Windows, 64 caratteri per Linux

Password
Deve avere 3 dei caratteri seguenti: 1 carattere minuscolo, 1 carattere maiuscolo, 1 numero e 1 carattere speciale.
Il valore deve essere compreso tra 12 e 123 caratteri.

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

-DataDiskDeleteOption

Specifica l'opzione di eliminazione del disco dati dopo l'eliminazione della macchina virtuale. Le opzioni sono Detach, Delete

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

-DataDiskSizeInGb

Specifica le dimensioni dei dischi dati in GB.

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

-DefaultProfile

Credenziali, account, tenant e sottoscrizione usati per la comunicazione con Azure.

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

-DisableBginfoExtension

Indica che questo cmdlet non installa l'estensione BG Info nella macchina virtuale.

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

-DiskControllerType

Specifica il tipo di controller del disco configurato per la macchina virtuale e VirtualMachineScaleSet. Questa proprietà è supportata solo per le macchine virtuali il cui disco del sistema operativo e lo SKU della macchina virtuale supportano la generazione 2 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), controllare la funzionalità HyperVGenerations restituita come parte delle funzionalità sku della macchina virtuale nella risposta dell'API SKU Microsoft.Compute per l'area che contiene V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list).
Per altre informazioni sui tipi di controller disco supportati, vedere https://aka.ms/azure-diskcontrollertypes.

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

-DiskFile

Percorso locale del file del disco rigido virtuale da caricare nel cloud e per la creazione della macchina virtuale e deve avere '.vhd' come suffisso.

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

-DomainNameLabel

Etichetta del sottodominio per il nome di dominio completo (FQDN) della macchina virtuale. Il formato {domainNameLabel}.{location}.cloudapp.azure.comsarà .

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

-EdgeZone

Imposta il nome della zona perimetrale. Se impostata, la query verrà instradata alla zona perimetrale specificata anziché all'area principale.

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

-EnableSecureBoot

Specifica se l'avvio protetto deve essere abilitato nella macchina virtuale.

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

-EnableUltraSSD

Usare dischi UltraSSD per la macchina virtuale.

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

-EnableVtpm

Specifica se vTPM deve essere abilitato nella macchina virtuale.

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

-EncryptionAtHost

La proprietà EncryptionAtHost può essere usata dall'utente nella richiesta per abilitare o disabilitare la crittografia host per la macchina virtuale o il set di scalabilità di macchine virtuali. In questo modo verrà abilitata la crittografia per tutti i dischi, incluso il disco Resource/Temp nell'host stesso. Impostazione predefinita: la crittografia dell'host verrà disabilitata a meno che questa proprietà non sia impostata su true per la risorsa.

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

-EvictionPolicy

Criteri di rimozione per la macchina virtuale Spot di Azure. I valori supportati sono 'Deallocate' e 'Delete'.

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

-GenerateSshKey

Generare una coppia di chiavi SSH pubblica/privata e creare una risorsa chiave pubblica SSH in Azure.

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

-HibernationEnabled

Flag che abilita o disabilita la funzionalità di ibernazione nella macchina virtuale.

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

-HostGroupId

Specifica il gruppo host dedicato in cui risiederà la macchina virtuale.

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

-HostId

ID dell'host

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

-Image

Nome descrittivo dell'immagine in base al quale verrà compilata la macchina virtuale. Gli alias disponibili sono: 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

È stato specificato l'ID univoco dell'immagine della raccolta condivisa per la distribuzione della macchina virtuale. Questa operazione può essere recuperata dalla chiamata GET dell'immagine della raccolta condivisa.

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

-LicenseType

Specifica un tipo di licenza, che indica che l'immagine o il disco per la macchina virtuale è stato concesso in licenza in locale. I valori possibili per Windows Server sono:

  • Windows_Client
  • Windows_Server

I valori possibili per il sistema operativo Linux Server sono:

  • RHEL_BYOS (per RHEL)
  • SLES_BYOS (per SU edizione Standard)
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Linux

Indica se il file del disco è per la macchina virtuale Linux, se specificato; o Windows, se non specificato per impostazione predefinita.

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

-Location

Specifica un percorso per la macchina virtuale.

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

-MaxPrice

Prezzo massimo della fatturazione di una macchina virtuale con priorità bassa.

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

-Name

Nome della risorsa della macchina virtuale.

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

-NetworkInterfaceDeleteOption

Specifica l'azione da eseguire nella risorsa NetworkInterface quando la macchina virtuale viene eliminata. Le opzioni sono: Scollegamento, Eliminazione.

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

-OpenPorts

Elenco di porte da aprire nel gruppo di sicurezza di rete (NSG) per la macchina virtuale creata. Il valore predefinito dipende dal tipo di immagine scelta(ad esempio Windows: 3389, 5985 e Linux: 22).

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

-OSDiskDeleteOption

Specifica l'opzione di eliminazione del disco del sistema operativo dopo l'eliminazione della macchina virtuale. Le opzioni sono Detach, Delete

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

-PlatformFaultDomain

Specifica il dominio di errore della macchina virtuale.

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

-Priority

Priorità per la macchina virtuale. Solo i valori supportati sono 'Regular', 'Spot' e 'Low'. 'Regular' è per la normale macchina virtuale. 'Spot' è per la macchina virtuale spot. 'Low' è anche per la macchina virtuale spot, ma viene sostituito da 'Spot'. Usare "Spot" invece di "Low".

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

-ProximityPlacementGroupId

ID risorsa del gruppo di posizionamento di prossimità da usare con questa macchina virtuale.

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

-PublicIpAddressName

Nome di un nuovo indirizzo IP pubblico (o esistente) per la macchina virtuale creata da usare. Se non specificato, verrà generato un nome.

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

-PublicIpSku

Specifica il nome dello SKU IP pubblico

I valori accettati sono "Basic" e "Standard"

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

-ResourceGroupName

Specifica il nome di un gruppo di risorse.

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

-SecurityGroupName

Nome di un gruppo di sicurezza di rete nuovo (o esistente) per la macchina virtuale creata da usare. Se non specificato, verrà generato un nome.

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

-SecurityType

Specifica il Tipo di sicurezza della macchina virtuale. Deve essere impostato su qualsiasi valore specificato per abilitare Uefi Impostazioni. Per impostazione predefinita, Uefi Impostazioni non verrà abilitato a meno che questa proprietà non sia impostata.

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

-SharedGalleryImageId

È stato specificato l'ID univoco dell'immagine della raccolta condivisa per la distribuzione della macchina virtuale. Questa operazione può essere recuperata dalla chiamata GET dell'immagine della raccolta condivisa.

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

-Size

Dimensioni della macchina virtuale. Get-AzComputeResourceSku può essere usato per individuare le dimensioni disponibili per la sottoscrizione e l'area.
Il valore predefinito è: Standard_D2s_v3.

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

-SshKeyName

Nome della risorsa chiave pubblica SSH.

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

-SubnetAddressPrefix

Prefisso dell'indirizzo per la subnet che verrà creata per la macchina virtuale.

Type:String
Position:Named
Default value:192.168.1.0/24
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SubnetName

Nome di una subnet nuova (o esistente) da usare per la macchina virtuale creata. Se non specificato, verrà generato un nome.

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

-SystemAssignedIdentity

Se il parametro è presente, alla macchina virtuale viene assegnata un'identità del sistema gestita generata automaticamente.

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

-Tag

Specifica che le risorse e i gruppi di risorse possono essere contrassegnati con un set di coppie nome-valore. L'aggiunta di tag alle risorse consente di raggruppare le risorse tra gruppi di risorse e di creare visualizzazioni personalizzate. Ciascuna risorsa o gruppo di risorse può avere un massimo di 15 tag.

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

-UserAssignedIdentity

Nome di un'identità del servizio gestita che deve essere assegnata alla macchina virtuale.

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

-UserData

UserData per la macchina virtuale, che verrà codificata in base 64. Il cliente non deve passare segreti qui.

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

-vCPUCountAvailable

Specifica il numero di vCPU disponibili per la macchina virtuale. Quando questa proprietà non viene specificata nel corpo della richiesta, il comportamento predefinito consiste nell'impostarlo sul valore delle vCPU disponibili per le dimensioni della macchina virtuale esposte nella risposta api di Elencare tutte le dimensioni delle macchine virtuali disponibili in un'area.

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

-vCPUCountPerCore

Specifica il rapporto tra vCPU e core fisici. Quando questa proprietà non viene specificata nel corpo della richiesta, il comportamento predefinito è impostato sul valore di vCPUsPerCore per le dimensioni della macchina virtuale esposte in risposta api di Elenca tutte le dimensioni delle macchine virtuali disponibili in un'area. L'impostazione di questa proprietà su 1 significa anche che l'hyper-threading è disabilitato.

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

-VirtualNetworkName

Nome di una rete virtuale nuova (o esistente) da usare per la macchina virtuale creata. Se non specificato, verrà generato un nome.

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

-VM

Specifica una macchina virtuale locale da creare. Per ottenere un oggetto macchina virtuale, usare il cmdlet New-AzVMConfig. È possibile usare altri cmdlet per configurare la macchina virtuale, ad esempio Set-AzVMOperatingSystem, Set-AzVMSourceImage e Add-AzVMNetworkInterface.

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

-VmssId

ID del set di scalabilità di macchine virtuali a cui verrà associata la macchina virtuale

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

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

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

-Zone

Specifica la zona della macchina virtuale. Anche se accetta una matrice di zone, le macchine virtuali non supportano più zone di disponibilità. Il valore consentito dipende dalle funzionalità dell'area. Il valore consentito sarà in genere 1, 2 o 3. Altre informazioni sulle zone di disponibilità di Azure.

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

Input

String

PSVirtualMachine

String[]

Hashtable

Output

PSAzureOperationResponse

PSVirtualMachine