Início Rápido: Criar uma VM do Windows Server usando o PowerShell no Azure Stack Hub

Você pode criar uma VM (máquina virtual) Windows Server 2016 usando o PowerShell do Azure Stack Hub. Siga as etapas neste artigo para criar e usar uma VM. Este artigo também fornece as etapas para:

  • Conecte-se à VM com um cliente remoto.
  • Instale o servidor Web do IIS e exiba a home page padrão.
  • Limpar seus recursos.

Observação

Você pode executar as etapas descritas neste artigo no Kit de Desenvolvimento do Azure Stack ou em um cliente externo baseado no Windows se estiver conectado por meio de uma VPN.

Pré-requisitos para VM do Windows Server

  • Verifique se o operador do Azure Stack Hub adicionou a imagem Windows Server 2016 ao Azure Stack Hub Marketplace.

  • O Azure Stack Hub requer uma versão específica do Azure PowerShell para criar e gerenciar os recursos. Se você não tiver o PowerShell configurado para o Azure Stack Hub, siga as etapas para instalar o PowerShell.

  • Com o PowerShell do Azure Stack Hub configurado, você precisará se conectar ao ambiente do Azure Stack Hub. Para obter instruções, consulte Conectar-se ao Azure Stack Hub com o PowerShell como um usuário.

Criar um grupo de recursos

Um grupo de recursos é um contêiner lógico no qual os recursos do Azure Stack Hub são implantados e gerenciados. No kit de desenvolvimento ou no sistema integrado do Azure Stack Hub, execute o bloco de código a seguir para criar um grupo de recursos.

Observação

Os valores são atribuídos para todas as variáveis nos exemplos de código. No entanto, você pode atribuir novos valores se desejar.

# Create variables to store the location and resource group names.
$location = "local"
$ResourceGroupName = "myResourceGroup"

New-AzResourceGroup `
  -Name $ResourceGroupName `
  -Location $location

Criar recursos de armazenamento

Crie uma conta de armazenamento para armazenar a saída do diagnóstico de inicialização.

# Create variables to store the storage account name and the storage account SKU information
$StorageAccountName = "mystorageaccount"
$SkuName = "Standard_LRS"

# Create a new storage account
$StorageAccount = New-AzStorageAccount `
  -Location $location `
  -ResourceGroupName $ResourceGroupName `
  -Type $SkuName `
  -Name $StorageAccountName

Set-AzCurrentStorageAccount `
  -StorageAccountName $storageAccountName `
  -ResourceGroupName $resourceGroupName

Criar recursos de rede

Crie uma rede virtual, sub-rede e um endereço IP público. Esses recursos são usados para fornecer conectividade de rede à VM.

# Create a subnet configuration
$subnetConfig = New-AzVirtualNetworkSubnetConfig `
  -Name mySubnet `
  -AddressPrefix 192.168.1.0/24

# Create a virtual network
$vnet = New-AzVirtualNetwork `
  -ResourceGroupName $ResourceGroupName `
  -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 $ResourceGroupName `
  -Location $location `
  -AllocationMethod Static `
  -IdleTimeoutInMinutes 4 `
  -Name "mypublicdns$(Get-Random)"

Crie um grupo de segurança de rede e uma regra de grupo de segurança de rede

O grupo de segurança de rede protege a VM usando regras de entrada e saída. Vamos criar uma regra de entrada para a porta 3389 para permitir conexões de Área de Trabalho Remota de entrada e uma regra de entrada para a porta 80 para permitir o tráfego da Web de entrada.

# 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 an inbound network security group rule for port 80
$nsgRuleWeb = New-AzNetworkSecurityRuleConfig `
  -Name myNetworkSecurityGroupRuleWWW `
  -Protocol Tcp `
  -Direction Inbound `
  -Priority 1001 `
  -SourceAddressPrefix * `
  -SourcePortRange * `
  -DestinationAddressPrefix * `
  -DestinationPortRange 80 `
  -Access Allow

# Create a network security group
$nsg = New-AzNetworkSecurityGroup `
  -ResourceGroupName $ResourceGroupName `
  -Location $location `
  -Name myNetworkSecurityGroup `
  -SecurityRules $nsgRuleRDP,$nsgRuleWeb

Criar um cartão de rede para a VM

A rede cartão conecta a VM a uma sub-rede, grupo de segurança de rede e endereço IP público.

# Create a virtual network card and associate it with public IP address and NSG
$nic = New-AzNetworkInterface `
  -Name myNic `
  -ResourceGroupName $ResourceGroupName `
  -Location $location `
  -SubnetId $vnet.Subnets[0].Id `
  -PublicIpAddressId $pip.Id `
  -NetworkSecurityGroupId $nsg.Id

Criar uma VM

Crie a configuração da VM. Essa configuração inclui as configurações usadas ao implantar a VM. Por exemplo: credenciais, tamanho e a imagem da VM.

# Define a credential object to store the username and password for the VM
$UserName='demouser'
$Password='Password@123'| ConvertTo-SecureString -Force -AsPlainText
$Credential=New-Object PSCredential($UserName,$Password)

# Create the VM configuration object
$VmName = "VirtualMachinelatest"
$VmSize = "Standard_A1"
$VirtualMachine = New-AzVMConfig `
  -VMName $VmName `
  -VMSize $VmSize

$VirtualMachine = Set-AzVMOperatingSystem `
  -VM $VirtualMachine `
  -Windows `
  -ComputerName "MainComputer" `
  -Credential $Credential -ProvisionVMAgent

$VirtualMachine = Set-AzVMSourceImage `
  -VM $VirtualMachine `
  -PublisherName "MicrosoftWindowsServer" `
  -Offer "WindowsServer" `
  -Skus "2016-Datacenter" `
  -Version "latest"

# Sets the operating system disk properties on a VM.
$VirtualMachine = Set-AzVMOSDisk `
  -VM $VirtualMachine `
  -CreateOption FromImage | `
  Set-AzVMBootDiagnostic -ResourceGroupName $ResourceGroupName `
  -StorageAccountName $StorageAccountName -Enable |`
  Add-AzVMNetworkInterface -Id $nic.Id


# Create the VM.
New-AzVM `
  -ResourceGroupName $ResourceGroupName `
  -Location $location `
  -VM $VirtualMachine

Conectar-se à VM

Para acessar remotamente a VM que você criou na etapa anterior, você precisará de seu endereço IP público. Execute o seguinte comando para obter o endereço IP público da VM:

Get-AzPublicIpAddress `
  -ResourceGroupName $ResourceGroupName | Select IpAddress

Use o comando a seguir para criar uma sessão de Área de Trabalho Remota com a VM. Substitua o endereço IP pelo publicIPAddress da VM. Quando solicitado, insira o nome de usuário e a senha usados ao criar a VM.

mstsc /v <publicIpAddress>

Instalar o IIS por meio do PowerShell

Agora que você entrou na VM do Azure, você pode usar uma única linha do PowerShell para instalar o IIS e habilitar a regra de firewall local para permitir o tráfego da Web. Abra um promt do PowerShell e execute o seguinte comando:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Exibir a página de boas-vindas do IIS

Com o IIS instalado e com a porta 80 aberta em sua VM, você pode usar qualquer navegador para exibir a página de boas-vindas padrão do IIS. Use o publicIpAddress documentado na seção anterior para visitar a página padrão.

Site do IIS padrão

Excluir a VM

Quando não for mais necessário, use o seguinte comando para remover o grupo de recursos que contém a VM e seus recursos relacionados:

Remove-AzResourceGroup `
  -Name $ResourceGroupName

Próximas etapas

Neste início rápido, você implantou uma VM simples do Windows. Para saber mais sobre as VMs do Azure Stack Hub, prossiga para os recursos de VM do Azure Stack Hub.