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 cmdletNew-AzVMConfigper creare un oggetto macchina virtuale.
Usare quindi i cmdlet seguenti per impostare proprietà diverse dell'oggetto macchina virtuale:
Set-AzVMOSDisk per impostare il disco del sistema operativo (profilo di archiviazione).
Get-AzComputeResourceSku può essere usato anche per individuare le dimensioni delle macchine virtuali disponibili per la sottoscrizione e l'area.
Il SimpleParameterSet fornisce un metodo pratico per creare una macchina virtuale rendendo facoltativi gli argomenti comuni per la creazione di macchine virtuali.
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 -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")
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 invece di 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
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.
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 pagina della funzionalità Avvio attendibile.
Esempio 9: Creare una macchina virtuale con Avvio attendibile attivato per impostazione predefinita usando New-AzVMConfig.
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 pagina della funzionalità Avvio attendibile.
Esempio 10: crea una macchina virtuale con TrustedLaunch attivato per impostazione predefinita.
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 pagina della funzionalità Avvio attendibile.
=======
Parametri
-AddressPrefix
Prefisso dell'indirizzo per la rete virtuale che verrà creata per la macchina virtuale.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-AlignRegionalDisksToVMZone
Specifica se i dischi a livello di area devono essere allineati/spostati nella zona della macchina virtuale. Questo è applicabile solo per le macchine virtuali con set di proprietà di posizionamento. Si noti che questa modifica è irreversibile.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-Credential
Credenziali di amministratore per la macchina virtuale.
Nome utente
restrizione :
Windows: Impossibile contenere caratteri speciali /""[]:|<>+=;,?*@& o terminare con "."
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, "admin2", "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
Parola d’ordine
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-DomainNameLabel
Etichetta del sottodominio per il nome di dominio completo (FQDN) della macchina virtuale. Il formato sarà {domainNameLabel}.{location}.cloudapp.azure.com.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-ExcludeZone
Questa proprietà integra la proprietà 'zonePlacementPolicy'. Se 'zonePlacementPolicy' è impostato su 'Any', la zona di disponibilità selezionata dal sistema non deve essere presente nell'elenco delle zone di disponibilità passate con 'excludeZones'. Se 'excludeZones' non è specificato, tutte le zone di disponibilità nell'area verranno considerate per la selezione.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-IfMatch
utilizzato per rendere condizionale una richiesta per PUT e altri metodi non sicuri. Il server restituirà le risorse richieste solo se la risorsa corrisponde a uno dei valori ETag elencati. Omettere questo valore per sovrascrivere sempre la risorsa corrente. Specificare l'ultimo valore ETag visualizzato per impedire la sovrascrittura accidentale delle modifiche simultanee.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
False
-IfNoneMatch
Usato per rendere condizionale una richiesta per i metodi GET e HEAD. Il server restituirà le risorse richieste solo se nessuno dei valori ETag elencati corrisponde all'entità corrente. Usato per rendere condizionale una richiesta per i metodi GET e HEAD. Il server restituirà le risorse richieste solo se nessuno dei valori ETag elencati corrisponde all'entità corrente. Impostare su '*' per consentire la creazione di un nuovo set di record, ma per impedire l'aggiornamento di un set di record esistente. Gli altri valori genereranno errori dal server perché non sono supportati.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-IncludeZone
Questa proprietà integra la proprietà 'zonePlacementPolicy'. Se 'zonePlacementPolicy' è impostato su 'Any', la zona di disponibilità selezionata dal sistema deve essere presente nell'elenco delle zone di disponibilità passate con 'includeZones'. Se 'includeZones' non viene specificato, tutte le zone di disponibilità nell'area verranno considerate per la selezione.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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:
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
True
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-NetworkInterfaceDeleteOption
Specifica l'azione da eseguire nella risorsa NetworkInterface quando la macchina virtuale viene eliminata. Le opzioni sono: Scollegamento, Eliminazione.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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).
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
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".
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-SecurityType
Specifica il Tipo di sicurezza della macchina virtuale. Deve essere impostato su qualsiasi valore specificato per abilitare UefiSettings. Per impostazione predefinita, UefiSettings non verrà abilitato a meno che questa proprietà non sia impostata.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Ogni risorsa o gruppo di risorse può avere un massimo di 15 tag.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
True
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
DiskFileParameterSet
Posizione:
Named
Obbligatorio:
False
Valore dalla pipeline:
False
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
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.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
-ZonePlacementPolicy
Specifica i criteri per il posizionamento della macchina virtuale nella zona di disponibilità. I valori possibili sono: Qualsiasi: una zona di disponibilità verrà selezionata automaticamente dal sistema durante la creazione della macchina virtuale.
Valore dalla pipeline in base al nome della proprietà:
False
Valore dagli argomenti rimanenti:
False
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.