Criar uma máquina virtual totalmente configurada com o PowerShell
Este script cria uma Máquina Virtual do Azure com o Windows Server 2016. Depois de executar o script, pode aceder à máquina virtual através de RDP.
Este exemplo requer Azure PowerShell Az 1.0 ou posterior. Execute Get-Module -ListAvailable Az
para ver que versões estão instaladas.
Se precisar de instalar, veja Instalar Azure PowerShell módulo.
Execute Connect-AzAccount para iniciar sessão no Azure.
Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.
Script de exemplo
# Variables for common values
$resourceGroup = "myResourceGroup"
$location = "westeurope"
$vmName = "myVM"
# Create user object
$cred = Get-Credential -Message "Enter a username and password for the virtual machine."
# Create a resource group
New-AzResourceGroup -Name $resourceGroup -Location $location
# Create a subnet configuration
$subnetConfig = New-AzVirtualNetworkSubnetConfig -Name mySubnet -AddressPrefix 192.168.1.0/24
# Create a virtual network
$vnet = New-AzVirtualNetwork -ResourceGroupName $resourceGroup -Location $location `
-Name MYvNET -AddressPrefix 192.168.0.0/16 -Subnet $subnetConfig
# Create a public IP address and specify a DNS name
$pip = New-AzPublicIpAddress -ResourceGroupName $resourceGroup -Location $location `
-Name "mypublicdns$(Get-Random)" -AllocationMethod Static -IdleTimeoutInMinutes 4
# Create an inbound network security group rule for port 3389
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name myNetworkSecurityGroupRuleRDP -Protocol Tcp `
-Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * `
-DestinationPortRange 3389 -Access Allow
# Create a network security group
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $resourceGroup -Location $location `
-Name myNetworkSecurityGroup -SecurityRules $nsgRuleRDP
# Create a virtual network card and associate with public IP address and NSG
$nic = New-AzNetworkInterface -Name myNic -ResourceGroupName $resourceGroup -Location $location `
-SubnetId $vnet.Subnets[0].Id -PublicIpAddressId $pip.Id -NetworkSecurityGroupId $nsg.Id
# Create a virtual machine configuration
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize Standard_D1 | `
Set-AzVMOperatingSystem -Windows -ComputerName $vmName -Credential $cred | `
Set-AzVMSourceImage -PublisherName MicrosoftWindowsServer -Offer WindowsServer -Skus 2016-Datacenter -Version latest | `
Add-AzVMNetworkInterface -Id $nic.Id
# Create a virtual machine
New-AzVM -ResourceGroupName $resourceGroup -Location $location -VM $vmConfig
Limpar a implementação
Execute o seguinte comando para remover o grupo de recursos, a VM e todos os recursos relacionados.
Remove-AzResourceGroup -Name myResourceGroup
Explicação do script
Este script utiliza os seguintes comandos para criar a implementação. Cada item na tabela liga a documentação específica do comando.
Comando | Notas |
---|---|
New-AzResourceGroup | Cria um grupo de recursos no qual todos os recursos são armazenados. |
New-AzVirtualNetworkSubnetConfig | Cria uma configuração de sub-rede. Esta configuração é utilizada com o processo de criação de rede virtual. |
New-AzVirtualNetwork | Cria uma rede virtual. |
New-AzPublicIpAddress | Cria um endereço IP público. |
New-AzNetworkSecurityRuleConfig | Cria uma configuração de regra do grupo de segurança de rede. Esta configuração serve para criar uma regra de NSG quando o NSG é criado. |
New-AzNetworkSecurityGroup | Cria um grupo de segurança de rede. |
Get-AzVirtualNetworkSubnetConfig | Obtém informações da sub-rede. Estas informações são utilizadas durante a criação de uma interface de rede. |
New-AzNetworkInterface | Cria uma interface de rede. |
New-AzVMConfig | Cria uma configuração de VM. Esta configuração inclui informações como o nome da VM, sistema operativo e credenciais administrativas. A configuração é utilizada durante a criação da VM. |
New-AzVM | Cria uma máquina virtual. |
Remove-AzResourceGroup | Remove um grupo de recursos e todos os recursos contidos no grupo. |
Passos seguintes
Para obter mais informações sobre o módulo do Azure PowerShell, veja Documentação do Azure PowerShell.
Pode ver exemplos adicionais de scripts do PowerShell da máquina virtual na Documentação da VM Windows do Azure.