Udostępnij za pośrednictwem


Szybki start: tworzenie maszyny wirtualnej z systemem Windows Server przy użyciu programu PowerShell w usłudze Azure Stack Hub

Maszynę wirtualną z systemem Windows Server 2016 można utworzyć 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ą przy użyciu klienta zdalnego.
  • Zainstaluj serwer internetowy usług IIS i wyświetl domyślną stronę główną.
  • Czyszczenie zasobów.

Notatka

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 Azure Stack Hub dodał obraz Windows Server 2016 do witryny Azure Stack Hub Marketplace.

  • Usługa Azure Stack Hub wymaga określonej wersji programu 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, aby zainstalować program 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 Podłącz się do Azure Stack Hub przy użyciu PowerShell jako użytkownik.

Tworzenie grupy zasobów

Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby usługi Azure Stack Hub. W zestawie developerskim lub zintegrowanym systemie usługi Azure Stack Hub uruchom następujący blok kodu w celu utworzenia grupy zasobów.

Notatka

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 pamięci masowej

Utwórz konto przechowywania 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 ruch przychodzący w Internecie.

# 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

Nawiązywanie połączenia z maszyną wirtualną

Aby zdalnie połączyć się z maszyną wirtualną utworzoną w poprzednim kroku, potrzebny jest jego 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 publicIPAddress z 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 pomocą programu PowerShell

Po zalogowaniu się do maszyny wirtualnej platformy Azure możesz użyć jednego wiersza programu PowerShell, aby zainstalować usługi IIS i włączyć lokalną regułę zapory, aby zezwolić na ruch internetowy. Otwórz wiersz polecenia programu PowerShell i uruchom następujące polecenie:

Install-WindowsFeature -name Web-Server -IncludeManagementTools

Zobacz stronę powitalną IIS

Po zainstalowaniu usług IIS i otwarciu portu 80 na maszynie wirtualnej możesz użyć dowolnej przeglądarki, aby wyświetlić domyślną stronę powitalną usług IIS. Użyj publicIpAddress, które zanotowałeś w poprzedniej sekcji, aby odwiedzić stronę domyślną.

domyślna witryna IIS

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 szybkiego startu wdrożono prostą maszynę wirtualną z systemem Windows. Aby dowiedzieć się więcej na temat maszyn wirtualnych usługi Azure Stack Hub, przejdź do funkcji maszyn wirtualnych usługi Azure Stack Hub.