O cmdlet New-AzVM cria uma máquina virtual em Azure.
Este 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, caso ainda não exista.
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 de máquina virtual:
Set-AzVMOSDisk para definir o disco do SO (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.
Neste conjunto de parâmetros, o PreferredVMSize opta por aderir ao FlexProfile de pré-visualização em vez de usar um Tamanho fixo.
Não especifique explicitamente tanto o Tamanho como o PreferredVMSize. Quando o PreferredVMSize é fornecido, o Tamanho padrão não é enviado.
O Azure pode implementar o tamanho preferido ou uma alternativa compatível com base na capacidade e posicionamento.
O PreferredVMSize não está disponível em DiskFileParameterSet nem DefaultParameterSetem .
Para criação baseada em configuração, defina comNew-AzVMConfig -PreferredVMSize e passe o objeto concluído para New-AzVM -VM; o FlexProfile configurado é encaminhado.FlexProfile
O FlexProfile é uma funcionalidade de pré-visualização que requer o registo da Microsoft.Compute/FlexProfileEnabled funcionalidade de subscrição e a disponibilidade na região-alvo.
As famílias de VMs suportadas variam consoante a região. O Azure valida posicionamentos não suportados e cadeias vazias de tamanho preferencial.
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 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 generalizada e preparada para o sistema existente e anexa um disco de dados a ela, provisiona uma nova rede, implanta o VHD e o executa.
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 , que requer interação do usuário.
Este script assume que já está iniciado na sua conta Azure.
Você pode confirmar seu status de login usando o cmdlet Get-AzSubscription .
Exemplo 3: Criar uma VM a partir de uma imagem de mercado 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 do recurso Início Confiável para obter mais informações.
Exemplo 9: Crie uma VM com a 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 use como padrão TrustedLaunch, que requer imagens Gen2. Verifique a página do recurso Início 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 do recurso Início Confiável para obter mais informações.
Exemplo 14: Criar uma VM com um modo de processador específico
Este comando cria uma VM Spot Plus, a próxima geração do Azure Spot que oferece maior fiabilidade e maior tempo de execução do que o 'Spot' a um preço reduzido.
Despejo e faturação comportam-se da mesma forma que 'Spot', por isso '-Política de Despejo' e '-MaxPreço' são usados da mesma forma.
Usar o 'SpotPlus' requer que a funcionalidade de subscrição 'Microsoft. Compute/SpotPlus' esteja registada e uma região onde a funcionalidade esteja ativada.
Use uma região ativada para a pré-visualização registada do FlexProfile. Este exemplo omite o Tamanho e permite ao Azure escolher o tamanho preferido ou uma alternativa compatível.
Para criação baseada em configuração, use New-AzVMConfig -PreferredVMSize, configure o sistema operativo, 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. Atualmente, esta opção é aplicável apenas para Linux OS.
Especifica se os discos regionais devem ser alinhados/movidos para a zona VM. Isso é aplicável apenas para VMs com propriedades de posicionamento definidas. Tenha em atenção que esta alteração é irreversível.
Nome de utilizador Restrição:
Windows: Não pode conter caracteres especiais /""[]:|+=;,?*@& nem terminar em "."
Linux: O nome de usuário deve conter apenas letras, números, hífenes e sublinhados e não pode começar com um hífen ou número. Valores não 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". Comprimento mínimo: 1 caractere Comprimento máximo: 20 caracteres para Windows, 64 caracteres para Linux
Password
Deve ter 3 dos seguintes: 1 caractere minúsculo, 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 está explicitamente excluída de qualquer atribuição de reserva de capacidade.
Quando definida, a máquina virtual não estará implícita ou explicitamente associada a qualquer reserva de capacidade e consumirá em vez disso capacidade disponível publicamente.
O rótulo de subdomínio para o nome de domínio totalmente qualificado (FQDN) da VM. Tal assumirá a forma {domainNameLabel}.{location}.cloudapp.azure.comde .
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 da máquina virtual.
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 true para o recurso.
Esta propriedade complementa a propriedade 'zonePlacementPolicy'. Se 'zonePlacementPolicy' estiver definido como 'Any', a zona de disponibilidade selecionada pelo sistema não deve 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.
utilizado para condicionar um pedido 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 ETag visto pela última vez para evitar a substituição acidental de alterações simultâneas.
Usado para condicionar uma solicitação 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 condicionar uma solicitação 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 de imagem amigável sobre o qual a VM será construída. Os aliases disponíveis são: Win2022AzureEdition, Win2022AzureEditionCore, Win2019Datacenter, Win2016Datacenter, Win2012R2Datacenter, Win2012Datacenter, Ubuntu2204, CentOS85Gen2, Debian11, OpenSuseLeap154Gen2, RHELRaw8LVMGen2, SuseSles15SP3, FlatcarLinuxFreeGen2.
Especificada a id exclusiva da imagem da galeria compartilhada para implantação de vm. Isso pode ser obtido na chamada GET da imagem compartilhada da galeria.
Esta propriedade complementa a propriedade 'zonePlacementPolicy'. Se 'zonePlacementPolicy' estiver definido como 'Any', a zona de disponibilidade selecionada pelo sistema deve 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 preferido da VM para o FlexProfile de pré-visualização, por Standard_D4s_v5exemplo .
O Azure pode implementar uma alternativa compatível com base na capacidade e localização.
Disponível apenas em SimpleParameterSet; não o combine explicitamente com o Tamanho.
O pedido 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 em vez disso.
Esta funcionalidade requer registo de pré-visualização e disponibilidade regional. O Azure valida posicionamentos não suportados e strings vazias.
A prioridade para a máquina virtual. Os únicos valores suportados são 'Regular', 'Spot', 'SpotPlus' e 'Low'.
'Regular' é para máquina virtual normal.
'Spot' é para máquina virtual spot.
O 'SpotPlus' é a próxima geração de máquinas virtuais Spot, que oferece maior fiabilidade e maior tempo de execução do que o 'Spot'.
'Baixo' também é para máquina virtual spot, mas é substituído por 'Spot'. Por favor, 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á habilitado, a menos que essa propriedade esteja definida.
Especificada a id exclusiva da imagem da galeria compartilhada para implantação de vm. Isso pode ser obtido na chamada GET da imagem compartilhada da galeria.
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 Tamanho com PreferredVMSize.
Quando o PreferredVMSize é fornecido, o tamanho padrão não é enviado.
Especifica que os recursos e grupos de recursos podem ser marcados com um conjunto de pares nome-valor.
Adicionar tags a recursos permite agrupar recursos entre grupos de recursos e criar suas próprias exibições.
Cada recurso ou grupo de recursos pode ter no máximo 15 tags.
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 com o valor de vCPUs disponíveis para esse tamanho de VM exposto na resposta da api de Listar todos os tamanhos de máquina virtual disponíveis em uma região.
Especifica a relação vCPU para 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 da 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 hyper-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 o Azure. Para usar um tamanho preferido, crie a configuração com New-AzVMConfig -PreferredVMSize em vez de VMSize.
Especifica a zona da máquina virtual. Embora absorva uma matriz de zonas, as máquinas virtuais não oferecem suporte a várias zonas de disponibilidade.
O valor permitido depende das capacidades da região. O valor permitido normalmente será 1, 2 ou 3. Mais informações sobre zonas de disponibilidade Azure.
Especifica a política para o posicionamento da máquina virtual na zona de disponibilidade. Os valores possíveis são: Qualquer - Uma zona de disponibilidade será escolhida automaticamente pelo sistema como parte da criação da máquina virtual.
Este cmdlet suporta os 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 origem deste conteúdo pode ser encontrada no GitHub, onde também pode criar e rever problemas e pedidos Pull. Para mais informações, consulte o nosso guia do contribuidor.