Szybki start: tworzenie maszyny wirtualnej z systemem Windows Server przy użyciu programu PowerShell w usłudze Azure Stack Hub
Maszynę wirtualną (VM) można utworzyć Windows Server 2016 przy użyciu programu PowerShell usługi Azure Stack Hub. Wykonaj kroki opisane w tym artykule, aby utworzyć maszynę wirtualną i używać jej. Ten artykuł zawiera również następujące kroki:
- Nawiąż połączenie z maszyną wirtualną za pomocą klienta zdalnego.
- Zainstaluj serwer internetowy usług IIS i wyświetl domyślną stronę główną.
- Czyszczenie zasobów.
Uwaga
Możesz uruchomić kroki opisane w tym artykule z zestawu Azure Stack Development Kit lub z klienta zewnętrznego opartego na systemie Windows, jeśli masz połączenie za pośrednictwem sieci VPN.
Wymagania wstępne dotyczące maszyny wirtualnej z systemem Windows Server
Upewnij się, że operator usługi Azure Stack Hub dodał obraz Windows Server 2016 do witryny Azure Stack Hub Marketplace.
Usługa Azure Stack Hub wymaga określonej wersji Azure PowerShell do tworzenia zasobów i zarządzania nimi. Jeśli nie masz skonfigurowanego programu PowerShell dla usługi Azure Stack Hub, wykonaj kroki instalacji programu PowerShell.
Po skonfigurowaniu programu PowerShell usługi Azure Stack Hub należy nawiązać połączenie ze środowiskiem usługi Azure Stack Hub. Aby uzyskać instrukcje, zobacz Nawiązywanie połączenia z usługą Azure Stack Hub przy użyciu programu PowerShell jako użytkownik.
Tworzenie grupy zasobów
Grupa zasobów to logiczny kontener, w którym zasoby usługi Azure Stack Hub są wdrażane i zarządzane. W zestawie deweloperów lub zintegrowanym systemie Usługi Azure Stack Hub uruchom następujący blok kodu, aby utworzyć grupę zasobów.
Uwaga
Wartości są przypisywane dla wszystkich zmiennych w przykładach kodu. Można jednak przypisać nowe wartości, jeśli chcesz.
# Create variables to store the location and resource group names.
$location = "local"
$ResourceGroupName = "myResourceGroup"
New-AzResourceGroup `
-Name $ResourceGroupName `
-Location $location
Tworzenie zasobów magazynu
Utwórz konto magazynu do przechowywania danych wyjściowych diagnostyki rozruchu.
# 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
Tworzenie zasobów sieciowych
Utwórz sieć wirtualną, podsieć i publiczny adres IP. Te zasoby są używane do zapewnienia łączności sieciowej z maszyną wirtualną.
# 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)"
Tworzenie sieciowej grupy zabezpieczeń i reguły sieciowej grupy zabezpieczeń
Sieciowa grupa zabezpieczeń zabezpiecza maszynę wirtualną przy użyciu reguł ruchu przychodzącego i wychodzącego. Utwórzmy regułę ruchu przychodzącego dla portu 3389, aby zezwolić na przychodzące połączenia pulpitu zdalnego i regułę ruchu przychodzącego dla portu 80, aby zezwolić na przychodzący ruch internetowy.
# 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
Tworzenie karty sieciowej dla maszyny wirtualnej
Karta sieciowa łączy maszynę wirtualną z podsiecią, sieciową grupą zabezpieczeń i publicznym adresem IP.
# 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
Tworzenie maszyny wirtualnej
Utwórz konfigurację maszyny wirtualnej. Ta konfiguracja obejmuje ustawienia używane podczas wdrażania maszyny wirtualnej. Na przykład: poświadczenia, rozmiar i obraz maszyny wirtualnej.
# 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
Łączenie z maszyną wirtualną
Aby zdalnie połączyć się z maszyną wirtualną utworzoną w poprzednim kroku, potrzebny jest jej publiczny adres IP. Uruchom następujące polecenie, aby uzyskać publiczny adres IP maszyny wirtualnej:
Get-AzPublicIpAddress `
-ResourceGroupName $ResourceGroupName | Select IpAddress
Użyj następującego polecenia, aby utworzyć sesję pulpitu zdalnego z maszyną wirtualną. Zastąp adres IP adresem publicIPAddress maszyny wirtualnej. Po wyświetleniu monitu wprowadź nazwę użytkownika i hasło używane podczas tworzenia maszyny wirtualnej.
mstsc /v <publicIpAddress>
Instalowanie usług IIS za pośrednictwem programu PowerShell
Po zalogowaniu się do maszyny wirtualnej platformy Azure możesz użyć jednego wiersza programu PowerShell do zainstalowania usług IIS i włączenia lokalnej reguły zapory, aby zezwolić na ruch internetowy. Otwórz wiersz polecenia programu PowerShell i uruchom następujące polecenie:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
Wyświetlanie strony powitalnej usług IIS
Po zainstalowaniu usług IIS i otwarciu portu 80 na maszynie wirtualnej możesz użyć dowolnej przeglądarki do wyświetlenia domyślnej strony powitalnej usług IIS. Użyj elementu publicIpAddress opisanego w poprzedniej sekcji, aby odwiedzić stronę domyślną.
Usuwanie maszyny wirtualnej
Gdy grupa zasobów zawierająca maszynę wirtualną i jej powiązane zasoby nie będzie już potrzebna, użyj następującego polecenia:
Remove-AzResourceGroup `
-Name $ResourceGroupName
Następne kroki
W tym przewodniku Szybki start wdrożono prostą maszynę wirtualną z systemem Windows. Aby dowiedzieć się więcej o maszynach wirtualnych usługi Azure Stack Hub, przejdź do funkcji maszyn wirtualnych usługi Azure Stack Hub.