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. In dit artikel vindt u ook de volgende stappen:

  • Verbinding maken naar de virtuele machine met een externe client.
  • Installeer de IIS-webserver en bekijk de standaardstartpagina.
  • Uw resources opschonen.

Notitie

U kunt de stappen die in dit artikel worden beschreven, uitvoeren vanuit de Azure Stack Development Kit of vanuit een Windows externe client als u bent verbonden 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 u PowerShell niet hebt geconfigureerd voor Azure Stack Hub, volgt u de stappen om PowerShell te installeren .

  • Als de Azure Stack Hub PowerShell is ingesteld, moet u verbinding maken met uw Azure Stack Hub-omgeving. Zie Verbinding maken als gebruiker naar Azure Stack Hub met PowerShell 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 netwerkverbinding met de VIRTUELE machine 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 virtuele machine met behulp van binnenkomende en uitgaande regels. Laten we een regel voor binnenkomend verkeer voor poort 3389 maken om binnenkomende verbindingen met extern bureaublad en een regel voor inkomend verkeer voor poort 80 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 maken voor de VIRTUELE machine

De netwerkkaart verbindt de virtuele machine 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 omvat 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 zich op afstand wilt aanmelden bij de virtuele machine 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 VIRTUELE machine op te halen:

Get-AzPublicIpAddress `
  -ResourceGroupName $ResourceGroupName | Select IpAddress

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

mstsc /v <publicIpAddress>

IIS installeren met behulp van PowerShell

Nu u zich hebt 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 iis-welkomstpagina weer te geven. Gebruik het publicIpAddress dat u in de vorige sectie hebt gedocumenteerd om naar de standaardpagina te gaan.

IIS default site

De VM verwijderen

Wanneer u deze niet meer nodig hebt, gebruikt u de volgende opdracht om de resourcegroep met de VIRTUELE machine en de bijbehorende resources te verwijderen:

Remove-AzResourceGroup `
  -Name $ResourceGroupName

Volgende stappen

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