Quickstart: Een Windows Server-VM maken met behulp van PowerShell in Azure Stack Hub

U kunt een Windows Server 2016 virtuele machine (VM) maken met behulp van Azure Stack Hub PowerShell. Volg de stappen in dit artikel om een virtuele machine te maken en te gebruiken. Dit artikel bevat ook de stappen voor het volgende:

  • Maak verbinding met de VM met een externe client.
  • Installeer de IIS-webserver en bekijk de standaardstartpagina.
  • Schoon uw resources op.

Notitie

U kunt de stappen die in dit artikel worden beschreven, uitvoeren vanuit de Azure Stack Development Kit of vanuit een externe Windows-client als u verbinding hebt via een VPN.

Vereisten voor Windows Server-VM

  • Zorg ervoor dat uw Azure Stack Hub-operator de Windows Server 2016-installatiekopieën heeft toegevoegd aan de Azure Stack Hub Marketplace.

  • Azure Stack Hub vereist een specifieke versie van Azure PowerShell om de resources te maken en te beheren. Als PowerShell niet is geconfigureerd voor Azure Stack Hub, volgt u de stappen om PowerShell te installeren .

  • Wanneer Azure Stack Hub PowerShell is ingesteld, moet u verbinding maken met uw Azure Stack Hub-omgeving. Zie Verbinding maken met Azure Stack Hub met PowerShell als gebruiker voor instructies.

Een resourcegroep maken

Een resourcegroep is een logische container waarin Azure Stack Hub-resources worden geïmplementeerd en beheerd. Voer vanuit uw development kit of het geïntegreerde Azure Stack Hub-systeem het volgende codeblok uit om een resourcegroep te maken.

Notitie

Waarden worden toegewezen voor alle variabelen in de codevoorbeelden. U kunt echter desgewenst nieuwe waarden toewijzen.

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

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

Opslagresources maken

Maak een opslagaccount om de uitvoer van diagnostische gegevens over opstarten op te slaan.

# 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

Netwerkresources maken

Maak een virtueel netwerk, subnet en een openbaar IP-adres. Deze resources worden gebruikt om netwerkconnectiviteit met de VM te bieden.

# 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)"

Een netwerkbeveiligingsgroep en een regel voor de netwerkbeveiligingsgroep maken

De netwerkbeveiligingsgroep beveiligt de VM met behulp van regels voor inkomend en uitgaand verkeer. We gaan een regel voor inkomend verkeer maken voor poort 3389 om binnenkomende Extern bureaublad-verbindingen toe te staan en een regel voor inkomend verkeer voor poort 80 om binnenkomend webverkeer toe te staan.

# 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

Een netwerkkaart voor de VM maken

De netwerkkaart verbindt de VM met een subnet, netwerkbeveiligingsgroep en openbaar IP-adres.

# 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

Een virtuele machine maken

Maak een VM-configuratie. Deze configuratie bevat de instellingen die worden gebruikt bij het implementeren van de VM. Bijvoorbeeld: referenties, grootte en de VM-installatiekopieën.

# 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

Verbinding maken met de virtuele machine

Als u extern toegang wilt hebben tot de VM die u in de vorige stap hebt gemaakt, hebt u het openbare IP-adres nodig. Voer de volgende opdracht uit om het openbare IP-adres van de VM op te halen:

Get-AzPublicIpAddress `
  -ResourceGroupName $ResourceGroupName | Select IpAddress

Gebruik de volgende opdracht om een extern bureaublad-sessie te maken met de VM. Vervang het IP-adres door publicIPAddress van de VM. Voer desgevraagd de gebruikersnaam en het wachtwoord in die zijn gebruikt bij het maken van de virtuele machine.

mstsc /v <publicIpAddress>

IIS installeren met behulp van PowerShell

Nu u bent aangemeld bij de Azure-VM, kunt u één regel van PowerShell gebruiken om IIS te installeren en de lokale firewallregel in te schakelen om webverkeer toe te staan. Open een PowerShell-prompt en voer de volgende opdracht uit:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

De welkomstpagina van IIS weergeven

Als IIS is geïnstalleerd en poort 80 is geopend op uw VIRTUELE machine, kunt u elke browser gebruiken om de standaard welkomstpagina van IIS weer te geven. Gebruik het publicIpAddress dat u in de vorige sectie hebt gedocumenteerd om de standaardpagina te bezoeken.

Standaardsite van IIS

De VM verwijderen

Wanneer u deze niet meer nodig hebt, gebruikt u de volgende opdracht om de resourcegroep te verwijderen die de VM en de bijbehorende resources bevat:

Remove-AzResourceGroup `
  -Name $ResourceGroupName

Volgende stappen

In deze quickstart hebt u een eenvoudige Windows-VM geïmplementeerd. Ga verder met Azure Stack Hub VM-functies voor meer informatie over Azure Stack Hub-VM's.