New-AzVM

Crea una máquina virtual.

Sintaxis

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>]
   [-IfMatch <String>]
   [-IfNoneMatch <String>]
   [-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>]
   [-IfMatch <String>]
   [-IfNoneMatch <String>]
   [-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>]
   [-IfMatch <String>]
   [-IfNoneMatch <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

El cmdlet New-AzVM crea una máquina virtual en Azure. Este cmdlet toma un objeto de máquina virtual como entrada. El cmdlet New-AzVM creará una nueva cuenta de almacenamiento para los diagnósticos de arranque si aún no existe una.

Use el cmdlet New-AzVMConfig para crear un objeto de máquina virtual configurable.
A continuación, use los siguientes cmdlets para establecer propiedades diferentes del objeto de máquina virtual:

Ejemplos

Ejemplo 1: Creación de una máquina virtual

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

En este script de ejemplo se muestra cómo crear una máquina virtual. El script le pedirá un nombre de usuario y una contraseña para la máquina virtual. Este script usa otros cmdlets.

Ejemplo 2: Creación de una máquina virtual a partir de una imagen de usuario personalizada

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

En este ejemplo se toma una imagen de sistema operativo personalizada generalizada existente y se adjunta un disco de datos, se aprovisiona una nueva red, se implementa el disco duro virtual y se ejecuta. Este script se puede usar para el aprovisionamiento automático porque usa las credenciales de administrador de máquina virtual local insertadas en lugar de llamar a Get-Credential , lo que requiere interacción del usuario. Este script supone que ya ha iniciado sesión en su cuenta de Azure. Puede confirmar el estado de inicio de sesión mediante el cmdlet Get-AzSubscription .

Ejemplo 3: Creación de una máquina virtual a partir de una imagen de Marketplace sin una dirección IP pública

$VMLocalAdminUser = "LocalAdminUser"
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -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

Este comando crea una máquina virtual a partir de una imagen de Marketplace sin una dirección IP pública.

Ejemplo 4: Creación de una máquina virtual con un valor UserData:

# VM Account
$VMLocalAdminUser = "LocalAdminUser";
$VMLocalAdminSecurePassword = ConvertTo-SecureString -String "****" -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;

El valor UserData siempre debe estar codificado en Base64.

Ejemplo 5: Creación de una máquina virtual con una subred existente en otro grupo de recursos

$UserName = "User"
$Password = ConvertTo-SecureString -String "****" -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

En este ejemplo se implementa una máquina virtual Windows desde Marketplace en un grupo de recursos con una subred existente en otro grupo de recursos.

Ejemplo 6: Creación de una máquina virtual como parte de un VMSS con un valor PlatformFaultDomain.

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

$domainNameLabel = "d1" + $resourceGroupName;
$vmname = "vm" + $resourceGroupName;
$platformFaultDomainVMDefaultSet = 2;
$vmssFaultDomain = 3;
$securePassword = ConvertTo-SecureString -String "****" -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;

En este ejemplo se crea una nueva máquina virtual como parte de un VMSS con un valor PlatformFaultDomain.

Ejemplo 7: Creación de una máquina virtual mediante el alias -Image.

$resourceGroupName= "<Resource Group Name>"
$loc = "<Azure Region>"
$domainNameLabel = "<Domain Name Label>"
$vmname = "<Virtual Machine Name>"
$securePassword = ConvertTo-SecureString -String "****" -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

En este ejemplo se crea una nueva máquina virtual mediante el parámetro -Image, que proporciona muchos valores predeterminados a la máquina virtual.

Ejemplo 8: Creación de una máquina virtual para 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";

$securePassword = ConvertTo-SecureString -String "****" -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;

En este ejemplo se crea una nueva máquina virtual con el tipo de seguridad TrustedLaunch y se establecen las marcas EnableSecureBoot y EnableVtpm como True de forma predeterminada. Una máquina virtual de inicio seguro requiere una imagen de Gen2. Consulte la página de características Inicio seguro para obtener más información.

Ejemplo 9: Creación de una máquina virtual con inicio seguro activado mediante Desuso mediante 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";
$securePassword = ConvertTo-SecureString -String "****" -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.

En este ejemplo se muestra cómo crear una máquina virtual con una imagen de Gen2 válida, lo que permite que la máquina virtual use de forma predeterminada TrustedLaunch, que requiere imágenes de Gen2. Consulte la página de características Inicio seguro para obtener más información.

Ejemplo 10: crea una máquina virtual con TrustedLaunch activado de forma predeterminada.

$rgname = "<Resource Group Name>";
$loc = "<Azure Region>";
$vmname = 'vm' + $rgname;
$domainNameLabel = "d1" + $rgname;
$securePassword = ConvertTo-SecureString -String "****" -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.

En este ejemplo se muestra cómo la llamada de cmdlet simple con parámetros mínimos dará lugar a una máquina virtual habilitada para TrustedLaunch con una imagen de Gen2. Consulte la página de características Inicio seguro para obtener más información.

=======

Parámetros

-AddressPrefix

Prefijo de dirección de la red virtual que se creará para la máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:192.168.0.0/16
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-AllocationMethod

Método de asignación de IP para la dirección IP pública que se creará para la máquina virtual.

Tipo:String
Valores aceptados:Static, Dynamic
Posición:Named
Valor predeterminado:Static
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-AsJob

Ejecute el cmdlet en segundo plano y devuelva un trabajo para realizar un seguimiento del progreso.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-AvailabilitySetName

Especifica un nombre para el conjunto de disponibilidad.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-CapacityReservationGroupId

Identificador del grupo de reserva de capacidad que se usa para asignar.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Credenciales de administrador para la máquina virtual.

Nombre de usuario
Restricción:
Windows: No se pueden contener caracteres especiales /""[]:|<>+=;,?*@& o terminar en "."
Linux: el nombre de usuario solo debe contener letras, números, guiones y guiones bajos y puede que no empiece por un guión o un número.
Valores no permitidos: "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".
Longitud mínima: 1 carácter
Longitud máxima: 20 caracteres para Windows, 64 caracteres para Linux

Contraseña
Debe tener 3 de lo siguiente: 1 carácter en minúsculas, 1 carácter mayúscula, 1 número y 1 carácter especial.
El valor debe tener entre 12 y 123 caracteres.

Tipo:PSCredential
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DataDiskDeleteOption

Especifica la opción Eliminación de disco de datos después de la eliminación de la máquina virtual. Las opciones son Desasociar, Eliminar

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DataDiskSizeInGb

Especifica los tamaños de los discos de datos en GB.

Tipo:Int32[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DisableBginfoExtension

Indica que este cmdlet no instala la extensión BG Info en la máquina virtual.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DiskControllerType

Especifica el tipo de controlador de disco configurado para la máquina virtual y VirtualMachineScaleSet. Esta propiedad solo se admite para las máquinas virtuales cuyo disco del sistema operativo y la SKU de máquina virtual admiten la generación 2 (https://video2.skills-academy.com/en-us/azure/virtual-machines/generation-2), compruebe la funcionalidad HyperVGenerations devuelta como parte de las funcionalidades de SKU de máquina virtual en la respuesta de la API de SKU de Microsoft.Compute para la región contiene V2 (https://video2.skills-academy.com/rest/api/compute/resourceskus/list).
Para obtener más información sobre los tipos de controlador de disco admitidos, consulte https://aka.ms/azure-diskcontrollertypes.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DiskFile

La ruta de acceso local al archivo de disco duro virtual que se va a cargar en la nube y para crear la máquina virtual, y debe tener ".vhd" como sufijo.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DomainNameLabel

Etiqueta de subdominio para el nombre de dominio completo (FQDN) de la máquina virtual. Esto tomará la forma {domainNameLabel}.{location}.cloudapp.azure.com.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EdgeZone

Establece el nombre de la zona perimetral. Si se establece, la consulta se enrutará a la zona perimetral especificada en lugar de a la región principal.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EnableSecureBoot

Especifica si se debe habilitar el arranque seguro en la máquina virtual.

Tipo:Nullable<T>[Boolean]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EnableUltraSSD

Use discos UltraSSD para la máquina virtual.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EnableVtpm

Especifica si vTPM debe estar habilitado en la máquina virtual.

Tipo:Nullable<T>[Boolean]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EncryptionAtHost

El usuario puede usar la propiedad EncryptionAtHost en la solicitud para habilitar o deshabilitar el cifrado de host para la máquina virtual o el conjunto de escalado de máquinas virtuales. Esto habilitará el cifrado para todos los discos, incluido el recurso o el disco temporal en el propio host. Valor predeterminado: el cifrado en el host se deshabilitará a menos que esta propiedad esté establecida en true para el recurso.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EvictionPolicy

Directiva de expulsión de la máquina virtual de Acceso puntual de Azure. Los valores admitidos son "Deallocate" y "Delete".

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-GenerateSshKey

Genere un par de claves pública y privada SSH y cree un recurso de clave pública SSH en Azure.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-HibernationEnabled

Marca que habilita o deshabilita la funcionalidad de hibernación en la máquina virtual.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-HostGroupId

Especifica el grupo host dedicado en el que residirá la máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-HostId

El identificador del host

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-IfMatch

se usa para realizar una solicitud condicional para put y otros métodos no seguros. El servidor solo devolverá los recursos solicitados si el recurso coincide con uno de los valores de ETag enumerados. Omita este valor para sobrescribir siempre el recurso actual. Especifique el valor de ETag visto por última vez para evitar que se sobrescriba accidentalmente los cambios simultáneos.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-IfNoneMatch

Se usa para realizar una solicitud condicional para los métodos GET y HEAD. El servidor solo devolverá los recursos solicitados si ninguno de los valores de ETag enumerados coincide con la entidad actual. Se usa para realizar una solicitud condicional para los métodos GET y HEAD. El servidor solo devolverá los recursos solicitados si ninguno de los valores de ETag enumerados coincide con la entidad actual. Establézcalo en "*" para permitir la creación de un nuevo conjunto de registros, pero para evitar la actualización de un conjunto de registros existente. Otros valores producirán un error del servidor, ya que no se admiten.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Image

Nombre descriptivo de la imagen en la que se compilará la máquina virtual. Los alias disponibles son: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.

Tipo:String
Alias:ImageName
Posición:Named
Valor predeterminado:Win2016Datacenter
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ImageReferenceId

Se especificó el identificador único de la imagen de la galería compartida para la implementación de la máquina virtual. Esto se puede capturar desde la llamada GET de la imagen de la galería compartida.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-LicenseType

Especifica un tipo de licencia, que indica que la imagen o el disco de la máquina virtual tenía una licencia local. Los valores posibles para Windows Server son:

  • Windows_Client
  • Windows_Server

Los valores posibles para el sistema operativo Linux Server son:

  • RHEL_BYOS (para RHEL)
  • SLES_BYOS (para SUSE)
Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Linux

Indica si el archivo de disco es para la máquina virtual Linux, si se especifica; o Windows, si no se especifica de forma predeterminada.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Location

Especifica una ubicación para la máquina virtual.

Tipo:String
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-MaxPrice

Precio máximo de la facturación de una máquina virtual de prioridad baja.

Tipo:Double
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Name

Nombre del recurso de máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-NetworkInterfaceDeleteOption

Especifica qué acción realizar en el recurso NetworkInterface cuando se elimina la máquina virtual. Las opciones son: Desasociar, Eliminar.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-OpenPorts

Lista de puertos que se van a abrir en el grupo de seguridad de red (NSG) de la máquina virtual creada. El valor predeterminado depende del tipo de imagen elegido (es decir, Windows: 3389, 5985 y Linux: 22).

Tipo:Int32[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-OSDiskDeleteOption

Especifica la opción De eliminación de disco del sistema operativo después de la eliminación de la máquina virtual. Las opciones son Desasociar, Eliminar

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PlatformFaultDomain

Especifica el dominio de error de la máquina virtual.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Priority

Prioridad de la máquina virtual. Solo los valores admitidos son "Regular", "Spot" y "Low". "Regular" es para la máquina virtual normal. "Spot" es para la máquina virtual de acceso puntual. "Low" también es para la máquina virtual de acceso puntual, pero se reemplaza por "Spot". Use "Spot" en lugar de "Low".

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ProximityPlacementGroupId

Identificador de recurso del grupo de selección de ubicación de proximidad que se va a usar con esta máquina virtual.

Tipo:String
Alias:ProximityPlacementGroup
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PublicIpAddressName

Nombre de una dirección IP pública nueva (o existente) para la máquina virtual creada que se va a usar. Si no se especifica, se generará un nombre.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-PublicIpSku

Especifica el nombre de la SKU de dirección IP pública.

Los valores aceptados son "Basic" y "Standard"

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ResourceGroupName

Especifica el nombre de un grupo de recursos.

Tipo:String
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SecurityGroupName

Nombre de un grupo de seguridad de red (NSG) nuevo (o existente) para la máquina virtual creada que se va a usar. Si no se especifica, se generará un nombre.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SecurityType

Especifica securityType de la máquina virtual. Debe establecerse en cualquier valor especificado para habilitar UefiSettings. De forma predeterminada, UefiSettings no se habilitará a menos que se establezca esta propiedad.

Tipo:String
Valores aceptados:TrustedLaunch, ConfidentialVM, Standard
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SharedGalleryImageId

Se especificó el identificador único de la imagen de la galería compartida para la implementación de la máquina virtual. Esto se puede capturar desde la llamada GET de la imagen de la galería compartida.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Size

Tamaño de la máquina virtual. Get-AzComputeResourceSku se puede usar para averiguar los tamaños disponibles de su suscripción y región.
El valor predeterminado es: Standard_D2s_v3.

Tipo:String
Posición:Named
Valor predeterminado:Standard_D2s_v3
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SshKeyName

Nombre del recurso de clave pública SSH.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SubnetAddressPrefix

Prefijo de dirección de la subred que se creará para la máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:192.168.1.0/24
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SubnetName

Nombre de una subred nueva (o existente) para la máquina virtual creada que se va a usar. Si no se especifica, se generará un nombre.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-SystemAssignedIdentity

Si el parámetro está presente, a la máquina virtual se le asigna una identidad del sistema administrada que se genera automáticamente.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Tag

Especifica que los recursos y los grupos de recursos se pueden etiquetar con un conjunto de pares nombre-valor. Agregar etiquetas a recursos le permite agrupar los recursos entre grupos de recursos y crear sus propias vistas. Cada recurso o grupo de recursos puede tener un máximo de 15 etiquetas.

Tipo:Hashtable
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-UserAssignedIdentity

Nombre de una identidad de servicio administrada que se debe asignar a la máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UserData

UserData para la máquina virtual, que se codificará en base 64. El cliente no debe pasar ningún secreto aquí.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-vCPUCountAvailable

Especifica el número de vCPU disponibles para la máquina virtual. Cuando esta propiedad no se especifica en el cuerpo de la solicitud, el comportamiento predeterminado es establecerlo en el valor de las vCPU disponibles para ese tamaño de máquina virtual expuesto en la respuesta de api de Enumerar todos los tamaños de máquina virtual disponibles en una región.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-vCPUCountPerCore

Especifica la relación de núcleos físicos de vCPU. Cuando esta propiedad no se especifica en el cuerpo de la solicitud, el comportamiento predeterminado se establece en el valor de vCPUsPerCore para el tamaño de máquina virtual expuesto en la respuesta de api de Enumerar todos los tamaños de máquina virtual disponibles en una región. Establecer esta propiedad en 1 también significa que el hyper-threading está deshabilitado.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VirtualNetworkName

Nombre de una red virtual nueva (o existente) para la máquina virtual creada que se va a usar. Si no se especifica, se generará un nombre.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-VM

Especifica una máquina virtual local que se va a crear. Para obtener un objeto de máquina virtual, use el cmdlet New-AzVMConfig. Otros cmdlets se pueden usar para configurar la máquina virtual, como Set-AzVMOperatingSystem, Set-AzVMSourceImage y Add-AzVMNetworkInterface.

Tipo:PSVirtualMachine
Alias:VMProfile
Posición:2
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VmssId

El identificador del conjunto de escalado de máquinas virtuales al que se asociará esta máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Zone

Especifica la zona de la máquina virtual. Aunque toma una matriz de zonas, las máquinas virtuales no admiten varias zonas de disponibilidad. El valor permitido depende de las funcionalidades de la región. El valor permitido normalmente será 1, 2 o 3. Más información sobre las zonas de disponibilidad de Azure.

Tipo:String[]
Posición:3
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

String

PSVirtualMachine

String[]

Hashtable

Salidas

PSAzureOperationResponse

PSVirtualMachine