O cmdlet New-AzVM cria uma máquina virtual no Azure.
Esse cmdlet usa um objeto de máquina virtual como entrada. O cmdlet New-AzVM criará uma nova conta de armazenamento para diagnóstico de inicialização se ainda não existir.
Use o cmdlet New-AzVMConfig para criar um objeto de máquina virtual.
Em seguida, use os seguintes cmdlets para definir propriedades diferentes do objeto da máquina virtual:
Set-AzVMOSDisk para definir o disco do sistema operacional (perfil de armazenamento).
Get-AzComputeResourceSku também pode ser usado para descobrir os tamanhos de máquina virtual disponíveis para sua assinatura e região.
O SimpleParameterSet fornece um método conveniente para criar uma VM, tornando os argumentos comuns de criação de VM opcionais.
Nesse conjunto de parâmetros, PreferredVMSize aceita a versão prévia do FlexProfile em vez de usar um Tamanho fixo.
Não especifique explicitamente Tamanho e PreferredVMSize. Quando PreferredVMSize é fornecido, o Tamanho padrão não é enviado.
Azure pode implantar o tamanho preferencial ou uma alternativa compatível com base na capacidade e no posicionamento.
PreferredVMSize não está disponível em DiskFileParameterSet ou DefaultParameterSet.
Para criação baseada em configuração, defina FlexProfile com New-AzVMConfig -PreferredVMSize e passe o objeto concluído para New-AzVM -VM; o FlexProfile configurado é encaminhado.
FlexProfile é um recurso de visualização que requer o Microsoft.Compute/FlexProfileEnabled registro do recurso de assinatura e a disponibilidade na região de destino.
As famílias de VM com suporte variam de acordo com a região. Azure valida posicionamentos sem suporte e cadeias de caracteres de tamanho preferencial vazias.
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
Este script de exemplo mostra como criar uma máquina virtual.
O script solicitará um nome de usuário e uma senha para a VM.
Esse script usa vários outros cmdlets.
Exemplo 2: criar uma máquina virtual a partir de uma imagem de usuário 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")
Este exemplo usa uma imagem de sistema operacional personalizada com sys prepped e generalizada e anexa um disco de dados a ele, provisiona uma nova rede, implanta o VHD e executa-o.
Esse script pode ser usado para provisionamento automático porque usa as credenciais de administrador da máquina virtual local embutidas em vez de chamar Get-Credential , o que requer interação do usuário.
Esse script pressupõe que você já está conectado à sua conta Azure.
Você pode confirmar seu status de logon usando o cmdlet Get-AzSubscription .
Exemplo 3: Criar uma VM a partir de uma imagem do marketplace sem um IP público
Este exemplo cria uma nova VM com o Tipo de Segurança TrustedLaunch e define sinalizadores EnableSecureBoot e EnableVtpm como True por padrão. Uma VM de Inicialização Confiável requer uma imagem Gen2. Verifique a página de recursos de Inicialização Confiável para obter mais informações.
Exemplo 9: Criar uma VM com Inicialização Confiável ativada por padrão usando New-AzVMConfig.
Este exemplo mostra como criar uma VM com uma imagem Gen2 válida, permitindo que a VM padrão seja TrustedLaunch, o que requer imagens Gen2. Verifique a página de recursos de Inicialização Confiável para obter mais informações.
Exemplo 10: Cria uma VM com TrustedLaunch ativado por padrão.
Este exemplo mostra como a chamada de cmdlet simples com parâmetros mínimos resultará em uma VM habilitada para TrustedLaunch com uma imagem gen2. Verifique a página de recursos de Inicialização Confiável para obter mais informações.
Exemplo 14: Criar uma VM com um modo de processador específico
Esse comando cria uma VM spot plus, a próxima geração de Azure Spot que fornece maior confiabilidade e tempo de execução mais longo do que "Spot" a um preço com desconto.
Remoção e cobrança se comportam da mesma forma que 'Spot', então '-EvictionPolicy' e '-MaxPrice' são usados da mesma maneira.
Usar o 'SpotPlus' requer o 'Microsoft. Recurso de assinatura de computação/SpotPlus a ser registrado e uma região em que o recurso está habilitado.
Exemplo 16: Criar uma VM com um tamanho preferencial
Use uma região habilitada para a versão prévia do FlexProfile registrada. Este exemplo omite Tamanho e permite que Azure escolha o tamanho preferencial ou uma alternativa compatível.
Para a criação baseada em configuração, use New-AzVMConfig -PreferredVMSize, configure o sistema operacional, a imagem e a rede e passe o objeto para New-AzVM -VM.
Parâmetros
-AddProxyAgentExtension
Especifica se a extensão ProxyAgent deve ser instalada implicitamente. No momento, essa opção é aplicável somente para o sistema operacional Linux.
Especifica se os discos regionais devem ser alinhados/movidos para a zona da VM. Isso é aplicável somente para VMs com conjunto de propriedades de posicionamento. Observe que essa alteração é irreversível.
Nome de usuário Restrição:
Windows: Não é possível conter caracteres especiais /"[]:|+=;,?*@& ou terminar em ".".
Linux: o nome de usuário deve conter apenas letras, números, hifens e sublinhados e pode não começar com um hífen ou número. valores não permitidos: "administrador", "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". Comprimento mínimo: 1 caractere Max-length: 20 caracteres para Windows, 64 caracteres para Linux
Senha
Deve ter 3 dos seguintes: 1 caractere de maiúsculas e minúsculas, 1 caractere maiúsculo, 1 número e 1 caractere especial.
O valor deve ter entre 12 e 123 caracteres.
Especifica que a máquina virtual é explicitamente excluída de qualquer atribuição de reserva de capacidade.
Quando definida, a máquina virtual não será implicitamente ou explicitamente associada a qualquer reserva de capacidade e consumirá a capacidade disponível publicamente.
O rótulo de subdomínio para o FQDN (nome de domínio totalmente qualificado) da VM. Isso assumirá o formulário {domainNameLabel}.{location}.cloudapp.azure.com.
A propriedade EncryptionAtHost pode ser usada pelo usuário na solicitação para habilitar ou desabilitar a Criptografia de Host para a máquina virtual ou o conjunto de dimensionamento de máquinas virtuais.
Isso habilitará a criptografia para todos os discos, incluindo o disco Resource/Temp no próprio host.
Padrão: a criptografia no host será desabilitada, a menos que essa propriedade seja definida como verdadeira para o recurso.
Essa propriedade complementa a propriedade 'zonePlacementPolicy'. Se 'zonePlacementPolicy' for definido como 'Any', a zona de disponibilidade selecionada pelo sistema não deverá estar presente na lista de zonas de disponibilidade passadas com 'excludeZones'. Se 'excludeZones' não for fornecido, todas as zonas de disponibilidade na região serão consideradas para seleção.
usado para tornar uma solicitação condicional para o PUT e outros métodos não seguros. O servidor só retornará os recursos solicitados se o recurso corresponder a um dos valores ETag listados. Omita esse valor para sempre substituir o recurso atual. Especifique o valor da ETag visto pela última vez para evitar a substituição acidental de alterações simultâneas.
Usado para tornar uma solicitação condicional para os métodos GET e HEAD. O servidor só retornará os recursos solicitados se nenhum dos valores ETag listados corresponder à entidade atual. Usado para tornar uma solicitação condicional para os métodos GET e HEAD. O servidor só retornará os recursos solicitados se nenhum dos valores ETag listados corresponder à entidade atual. Defina como '*' para permitir que um novo conjunto de registros seja criado, mas para impedir a atualização de um conjunto de registros existente. Outros valores resultarão em erro do servidor, pois não são suportados.
O nome da imagem amigável no qual a VM será criada. Os aliases disponíveis são: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Especifica a ID exclusiva da imagem da galeria compartilhada para implantação de VM. Isso pode ser buscado na chamada GET da imagem da galeria compartilhada.
Essa propriedade complementa a propriedade 'zonePlacementPolicy'. Se 'zonePlacementPolicy' for definido como 'Any', a zona de disponibilidade selecionada pelo sistema deverá estar presente na lista de zonas de disponibilidade passadas com 'includeZones'. Se 'includeZones' não for fornecido, todas as zonas de disponibilidade na região serão consideradas para seleção.
Especifica um tipo de licença, que indica que a imagem ou o disco da máquina virtual foi licenciado localmente.
Os valores possíveis para o Windows Server são:
Windows_Client
Windows_Server
Os valores possíveis para o sistema operacional Linux Server são:
Uma lista de portas a serem abertas no NSG (grupo de segurança de rede) para a VM criada. O valor padrão depende do tipo de imagem escolhida (ou seja, Windows: 3389, 5985 e Linux: 22).
Especifica o tamanho de VM preferencial para o FlexProfile de visualização, por exemplo Standard_D4s_v5.
Azure pode implantar uma alternativa compatível com base na capacidade e no posicionamento.
Disponível somente em SimpleParameterSet; não combine-o explicitamente com Tamanho.
A solicitação define FlexProfile.PreferredVMSize e omite HardwareProfile.VmSize, em vez de enviar o Tamanho padrão.
Para New-AzVM -VM, configure o FlexProfile no objeto de entrada.
Esse recurso requer o registro de visualização e a disponibilidade regional. Azure valida posicionamentos sem suporte e cadeias de caracteres vazias.
A prioridade da máquina virtual. Somente os valores com suporte são 'Regular', 'Spot', 'SpotPlus' e 'Low'.
'Regular' é para máquina virtual regular.
'Spot' é para máquina virtual spot.
'SpotPlus' é a próxima geração de máquina virtual spot, que oferece maior confiabilidade e tempo de execução mais longo do que 'Spot'.
'Low' também é para máquina virtual spot, mas é substituído por 'Spot'. Use 'Spot' em vez de 'Low'.
Especifica o SecurityType da máquina virtual. Ele deve ser definido como qualquer valor especificado para habilitar UefiSettings. Por padrão, UefiSettings não serão habilitados, a menos que essa propriedade esteja definida.
Especifica a ID exclusiva da imagem da galeria compartilhada para implantação de VM. Isso pode ser buscado na chamada GET da imagem da galeria compartilhada.
O tamanho da máquina virtual.
Get-AzComputeResourceSku pode ser usado para descobrir os tamanhos disponíveis para sua assinatura e região.
O valor padrão é: Standard_D2s_v3.
Em SimpleParameterSet, não combine explicitamente o Tamanho com PreferredVMSize.
Quando PreferredVMSize é fornecido, o tamanho padrão não é enviado.
Especifica que recursos e grupos de recursos podem ser marcados com um conjunto de pares nome-valor.
Adicionar marcas a recursos permite agrupar recursos entre grupos de recursos e criar seus próprios modos de exibição.
Cada recurso ou grupo de recursos pode ter no máximo 15 marcas.
Especifica o número de vCPUs disponíveis para a VM. Quando essa propriedade não é especificada no corpo da solicitação, o comportamento padrão é defini-la para o valor de vCPUs disponíveis para esse tamanho de VM exposto na resposta à API de Listar todos os tamanhos de máquina virtual disponíveis em uma região.
Especifica a relação vCPU com núcleo físico. Quando essa propriedade não é especificada no corpo da solicitação, o comportamento padrão é definido como o valor de vCPUsPerCore para o Tamanho da VM exposto na resposta à API de Listar todos os tamanhos de máquina virtual disponíveis em uma região. Definir essa propriedade como 1 também significa que o hiper-threading está desabilitado.
Especifica uma máquina virtual local a ser criada.
Para obter um objeto de máquina virtual, use o cmdlet New-AzVMConfig.
Outros cmdlets podem ser usados para configurar a máquina virtual, como Set-AzVMOperatingSystem, Set-AzVMSourceImage e Add-AzVMNetworkInterface.
O objeto FlexProfile é encaminhado para Azure. Para usar um tamanho preferencial, crie a configuração com New-AzVMConfig -PreferredVMSize em vez de VMSize.
Especifica a zona da máquina virtual. Embora ele tenha uma matriz de zonas, as máquinas virtuais não dão suporte a várias zonas de disponibilidade.
O valor permitido depende dos recursos da região. O valor permitido normalmente será 1, 2 ou 3. Mais informações sobre Azure zonas de disponibilidade.
Especifica a política de posicionamento da máquina virtual na zona de disponibilidade. Os valores possíveis são: Qualquer – uma zona de disponibilidade será automaticamente escolhida pelo sistema como parte da criação da máquina virtual.
Este cmdlet dá suporte aos parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
A fonte deste conteúdo pode ser encontrada no GitHub, onde você também pode criar e revisar problemas e solicitações de pull. Para obter mais informações, confira o nosso guia para colaboradores.