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.
A continuación, use los siguientes cmdlets para establecer propiedades diferentes del objeto de máquina virtual:
Set-AzVMOSDisk para establecer el disco del sistema operativo (perfil de almacenamiento).
Get-AzComputeResourceSku también se puede usar para averiguar los tamaños de máquina virtual disponibles para su suscripción y región.
SimpleParameterSet proporciona un método práctico para crear una máquina virtual mediante la creación de argumentos de creación de máquinas virtuales comunes opcionales.
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
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.
En este ejemplo se crea una nueva máquina virtual mediante el parámetro -Image, lo que proporciona muchos valores predeterminados a la máquina virtual.
Ejemplo 8: Creación de una máquina virtual para Trusted Launch SecurityType.
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 de forma predeterminada mediante New-AzVMConfig.
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.
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
-AddProxyAgentExtension
Especifica si se va a instalar implícitamente la extensión ProxyAgent. Esta opción solo es aplicable actualmente para el sistema operativo Linux.
Especifica si los discos regionales se deben alinear o mover a la zona de máquina virtual. Esto solo es aplicable a las máquinas virtuales con el conjunto de propiedades placement. Tenga en cuenta que este cambio es irreversible.
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.
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://learn.microsoft.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://learn.microsoft.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.
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.
Etiqueta de subdominio para el nombre de dominio completo (FQDN) de la máquina virtual. Esto tomará la forma {domainNameLabel}.{location}.cloudapp.azure.com.
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.
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.
Esta propiedad complementa la propiedad 'zonePlacementPolicy'. Si "zonePlacementPolicy" se establece en "Any", la zona de disponibilidad seleccionada por el sistema no debe estar presente en la lista de zonas de disponibilidad pasadas con "excludeZones". Si no se proporciona 'excludeZones', se considerarán todas las zonas de disponibilidad de la región para la selección.
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.
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.
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.
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.
Esta propiedad complementa la propiedad 'zonePlacementPolicy'. Si "zonePlacementPolicy" está establecido en "Any", la zona de disponibilidad seleccionada por el sistema debe estar presente en la lista de zonas de disponibilidad pasadas con "includeZones". Si no se proporciona 'includeZones', se considerarán todas las zonas de disponibilidad de la región para la selección.
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:
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).
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
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".
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.
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.
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.
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.
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.
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.
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.
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.
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.
Especifica la directiva para la ubicación de la máquina virtual en la zona de disponibilidad. Los valores posibles son: Cualquier: el sistema seleccionará automáticamente una zona de disponibilidad como parte de la creación de máquinas virtuales.
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
El origen de este contenido se puede encontrar en GitHub, donde también puede crear y revisar problemas y solicitudes de incorporación de cambios. Para más información, consulte nuestra guía para colaboradores.