快速入門:在 Azure Stack Hub 中使用 PowerShell 建立 Windows Server VM
您可以使用 Azure Stack Hub PowerShell 建立 Windows Server 2016 虛擬機器 (VM)。 請依照本文中的步驟建立和使用 VM。 本文也提供下列操作的步驟:
- 使用遠端用戶端連線至 VM。
- 安裝 IIS 網頁伺服器,並且檢視預設首頁。
- 清除資源。
注意
您可以從 Azure Stack 開發套件,或從 Windows 型外部用戶端 (如果您透過 VPN 連線) 來執行這篇文章中所述的步驟。
Windows Server VM 的必要條件
請確定您的 Azure Stack Hub 操作員已將 Windows Server 2016 映像新增到 Azure Stack Hub Marketplace。
Azure Stack Hub 需要特定版本的 Azure PowerShell,才能建立和管理資源。 如果您尚未針對 Azure Stack Hub 設定 PowerShell,請依照步驟來安裝 PowerShell。
設定好 Azure Stack Hub PowerShell 後,您必須連線到 Azure Stack Hub 環境。 如需指示,請參閱以使用者的身分使用 PowerShell 連線到 Azure Stack Hub。
建立資源群組
資源群組是在其中部署與管理 Azure Stack Hub 資源的邏輯容器。 從您的開發套件或 Azure Stack Hub 整合系統,執行下列程式碼區塊來建立資源群組。
注意
系統會為程式碼範例中的所有變數指派值。 不過,您可以視需要指派新值。
# Create variables to store the location and resource group names.
$location = "local"
$ResourceGroupName = "myResourceGroup"
New-AzResourceGroup `
-Name $ResourceGroupName `
-Location $location
建立儲存體資源
建立儲存體帳戶來儲存開機診斷的輸出。
# 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
建立網路資源
建立虛擬網路、子網路和公用 IP 位址。 這些資源可用來提供 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)"
建立網路安全性群組和網路安全性群組規則
網路安全性群組可使用輸入和輸出規則來保護 VM。 讓我們建立連接埠 3389 的輸入規則以允許傳入的遠端桌面連線,並建立連接埠 80 的輸入規則以允許傳入的 Web 流量。
# 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
建立 VM 的網路卡
網路卡會將 VM 連線至子網路、網路安全性群組和公用 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
建立 VM
建立 VM 組態。 此組態包含部署 VM 時使用的設定。 例如:認證、大小和 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
連接至 VM
若要從遠端存取您在上一個步驟中建立的 VM,則需要其公用 IP 位址。 執行下列命令,以取得 VM 的公用 IP 位址:
Get-AzPublicIpAddress `
-ResourceGroupName $ResourceGroupName | Select IpAddress
使用下列命令建立 VM 的遠端桌面工作階段。 請將 IP 位址取代為 VM 的 publicIPAddress 。 出現提示時,請輸入您在建立 VM 時所使用的使用者名稱和密碼。
mstsc /v <publicIpAddress>
透過 PowerShell 安裝 IIS
您現已登入 Azure VM,可使用一行 PowerShell 來安裝 IIS,並啟用本機防火牆規則以允許 Web 流量通過。 開啟 PowerShell 提示字元並執行下列命令:
Install-WindowsFeature -name Web-Server -IncludeManagementTools
檢視 IIS 歡迎使用頁面
安裝 IIS 後,在您的 VM 上開啟連接埠 80,即可使用任何瀏覽器來檢視預設的 IIS 歡迎使用畫面。 使用您在前一節中記載的 publicIpAddress 來瀏覽預設網頁。
刪除 VM
當不再需要時,請使用下列命令來移除包含 VM 及其相關資源的資源群組:
Remove-AzResourceGroup `
-Name $ResourceGroupName
後續步驟
在本快速入門中,您部署了簡單的 Windows VM。 若要深入了解 Azure Stack Hub VM,請參閱 Azure Stack Hub VM 功能。