New-AzureRmVM
Crea una máquina virtual.
Advertencia
El módulo de PowerShell de AzureRM ha quedado en desuso oficialmente a partir del 29 de febrero de 2024. Se recomienda a los usuarios migrar de AzureRM al módulo Az PowerShell para seguir recibiendo soporte técnico y actualizaciones.
Aunque el módulo AzureRM puede seguir funcionando, ya no se mantiene ni se admite, colocando cualquier uso continuado a discreción y riesgo del usuario. Consulte nuestros recursos de migración para ver una guía sobre la transición al módulo Az.
Syntax
New-AzureRmVM
[[-ResourceGroupName] <String>]
[[-Location] <String>]
[[-Zone] <String[]>]
-Name <String>
-Credential <PSCredential>
[-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]
[-DataDiskSizeInGb <Int32[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmVM
[-ResourceGroupName] <String>
[-Location] <String>
[-VM] <PSVirtualMachine>
[[-Zone] <String[]>]
[-DisableBginfoExtension]
[-Tag <Hashtable>]
[-LicenseType <String>]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
New-AzureRmVM
[[-ResourceGroupName] <String>]
[[-Location] <String>]
-Name <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]
[-DataDiskSizeInGb <Int32[]>]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet New-AzureRmVM crea una máquina virtual en Azure.
Este cmdlet toma un objeto de máquina virtual como entrada.
Use el cmdlet New-AzureRmVMConfig para crear un objeto de máquina virtual.
Otros cmdlets se pueden usar para configurar la máquina virtual, como Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage, Add-AzureRmVMNetworkInterface y Set-AzureRmVMOSDisk.
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.
Ejemplos
Ejemplo 1: Creación de una máquina virtual
PS C:\> New-AzureRmVM -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
PS C:\> ## 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-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$PIP = New-AzureRmPublicIpAddress -Name $PublicIPAddressName -DomainNameLabel $DNSNameLabel -ResourceGroupName $ResourceGroupName -Location $LocationName -AllocationMethod Dynamic
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id -PublicIpAddressId $PIP.Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -SourceImageUri $SourceImageUri -Caching $OSDiskCaching -CreateOption $OSCreateOption -Windows
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose
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-AzureSubscription .
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 <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-AzureRmVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $SubnetAddressPrefix
$Vnet = New-AzureRmVirtualNetwork -Name $NetworkName -ResourceGroupName $ResourceGroupName -Location $LocationName -AddressPrefix $VnetAddressPrefix -Subnet $SingleSubnet
$NIC = New-AzureRmNetworkInterface -Name $NICName -ResourceGroupName $ResourceGroupName -Location $LocationName -SubnetId $Vnet.Subnets[0].Id
$Credential = New-Object System.Management.Automation.PSCredential ($VMLocalAdminUser, $VMLocalAdminSecurePassword);
$VirtualMachine = New-AzureRmVMConfig -VMName $VMName -VMSize $VMSize
$VirtualMachine = Set-AzureRmVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate
$VirtualMachine = Add-AzureRmVMNetworkInterface -VM $VirtualMachine -Id $NIC.Id
$VirtualMachine = Set-AzureRmVMSourceImage -VM $VirtualMachine -PublisherName 'MicrosoftWindowsServer' -Offer 'WindowsServer' -Skus '2012-R2-Datacenter' -Version latest
New-AzureRmVM -ResourceGroupName $ResourceGroupName -Location $LocationName -VM $VirtualMachine -Verbose
En este ejemplo se aprovisiona una nueva red e implementa una máquina virtual Windows desde Marketplace sin crear una dirección IP pública ni un grupo de seguridad de red. 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.
Parámetros
-AddressPrefix
Prefijo de dirección de la red virtual que se creará para la máquina virtual.
Tipo: | String |
Position: | Named |
valor predeterminado: | 192.168.0.0/16 |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | Static |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AsJob
Ejecute el cmdlet en segundo plano y devuelva un trabajo para realizar un seguimiento del progreso.
Tipo: | SwitchParameter |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-AvailabilitySetName
Especifica un nombre para el conjunto de disponibilidad.
Tipo: | String |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
valor predeterminado: | False |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Credenciales de administrador para la máquina virtual.
Tipo: | PSCredential |
Position: | Named |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DataDiskSizeInGb
Especifica los tamaños de los discos de datos en GB.
Tipo: | Int32[] |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DefaultProfile
Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.
Tipo: | IAzureContextContainer |
Aliases: | AzureRmContext, AzureCredential |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisableBginfoExtension
Indica que este cmdlet no instala la extensión BG Info en la máquina virtual.
Tipo: | SwitchParameter |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Image
Nombre descriptivo de la imagen en la que se compilará la máquina virtual. Estos incluyen: Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Win2008R2SP1, UbuntuLTS, CentOS, CoreOS, Debian, openSUSE-Leap, RHEL, SLES.
Tipo: | String |
Aliases: | ImageName |
Position: | Named |
valor predeterminado: | Win2016Datacenter |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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. Este valor solo se usa para imágenes que contienen el sistema operativo Windows Server. Los valores permitidos para este parámetro son los siguientes:
- Windows_Client
- Windows_Server Este valor no se puede actualizar. Si especifica este parámetro para una actualización, el valor debe coincidir con el valor inicial de la máquina virtual.
Tipo: | String |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Location
Especifica una ubicación para la máquina virtual.
Tipo: | String |
Position: | 1 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Nombre del recurso de máquina virtual.
Tipo: | String |
Position: | Named |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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[] |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ResourceGroupName
Especifica el nombre de un grupo de recursos.
Tipo: | String |
Position: | 0 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Size
Tamaño de la máquina virtual. El valor predeterminado es: Standard_DS1_v2.
Tipo: | String |
Position: | Named |
valor predeterminado: | Standard_DS1_v2 |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-SubnetAddressPrefix
Prefijo de dirección de la subred que se creará para la máquina virtual.
Tipo: | String |
Position: | Named |
valor predeterminado: | 192.168.1.0/24 |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-UserAssignedIdentity
Nombre de una identidad de servicio administrada que se debe asignar a la máquina virtual.
Tipo: | String |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 |
Position: | Named |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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-AzureRmVMConfig. Otros cmdlets se pueden usar para configurar la máquina virtual, como Set-AzureRmVMOperatingSystem, Set-AzureRmVMSourceImage y Add-AzureRmVMNetworkInterface.
Tipo: | PSVirtualMachine |
Aliases: | VMProfile |
Position: | 2 |
valor predeterminado: | None |
Requerido: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
valor predeterminado: | False |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Zone
Especifica la lista de zonas de la máquina virtual.
Tipo: | String[] |
Position: | 3 |
valor predeterminado: | None |
Requerido: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
String[]