在 Azure 中手動部署 Windows Admin Center 來管理多部伺服器

本文說明如何在 Azure VM 中手動部署 Windows Admin Center,以使用於管理多個 Azure VM。 若要管理單一 VM,請改用 Azure 入口網站內建的 Windows Admin Center 功能,如在 Azure 入口網站中使用 Windows Admin Center中所述。

使用指令碼部署

您可以下載 Deploy-WACAzVM.ps1,並從 Azure Cloud Shell 執行,以便在 Azure 中設定 Windows Admin Center 閘道器。 此指令碼可以建立整個環境,包括資源群組。

跳至手動部署步驟

必要條件

  • Azure Cloud Shell 中設定您的帳戶。 如果這是您第一次使用 Cloud Shell,系統會要求您與 Cloud Shell 關聯或建立一個 Azure 儲存體帳戶。
  • PowerShell Cloud Shell 中,瀏覽至主目錄:PS Azure:\> cd ~
  • 若要上傳 Deploy-WACAzVM.ps1 檔案,請將它從本機電腦拖放到 Cloud Shell 視窗的任何位置。

如果指定您自己的憑證:

  • 將憑證上傳至 Azure Key Vault。 首先,在 Azure 入口網站中建立金鑰保存庫,然後將憑證上傳至金鑰保存庫。 或者,您可以使用 Azure 入口網站為您產生憑證。

指令碼參數

  • ResourceGroupName - [String] 指定要在其中建立 VM 的資源群組名稱。

  • Name - [String] 指定 VM 的名稱。

  • Credential - [PSCredential] 指定 VM 的認證。

  • MsiPath - [String] 指定在現有 VM 上部署 Windows Admin Center 時,Windows Admin Center MSI 的本機路徑。 如果省略,則預設為來自 https://aka.ms/WACDownload 的版本。

  • VaultName - [String] 指定包含憑證的金鑰保存庫名稱。

  • CertName - [String] 指定要用於 MSI 安裝的憑證名稱。

  • GenerateSslCert - [Switch] 如果 MSI 應該產生自我簽署 ssl 憑證,則為 True。

  • PortNumber - [int] 指定 Windows Admin Center 服務的 ssl 連接埠號碼。 如果省略,預設值為 443。

  • OpenPorts - [int[]] 指定 VM 的開啟連接埠。

  • Location - [String] 指定 VM 的位置。

  • Size - [String] 指定 VM 的大小。 如果省略,則預設為「Standard_DS1_v2」。

  • Image - [String] 指定 VM 的映像。 如果省略 ,則預設為「Win2016Datacenter」。

  • VirtualNetworkName - [String] 指定 VM 的虛擬網路名稱。

  • SubnetName - [String] 指定 VM 的子網路名稱。

  • SecurityGroupName - [String] 指定 VM 安全性群組的名稱。

  • PublicIpAddressName - [String] 指定 VM 的公用 IP 位址名稱。

  • InstallWACOnly - [Switch] 如果 WAC 應該安裝在既有的 Azure VM 上,則設定為 True,。

MSI 有 2 種不同的部署選項,以及用於 MSI 安裝的憑證。 MSI 可以從 aka.ms/WACDownload 下載,或者,如果部署到現有的 VM,則可以在 VM 上提供本機 MSI 的檔案路徑。 您可以在 Azure Key Vault 中找到憑證,或 MSI 會產生自我簽署憑證。

指令碼範例

首先,定義指令碼參數所需的通用變數。

$ResourceGroupName = "wac-rg1"
$VirtualNetworkName = "wac-vnet"
$SecurityGroupName = "wac-nsg"
$SubnetName = "wac-subnet"
$VaultName = "wac-key-vault"
$CertName = "wac-cert"
$Location = "westus"
$PublicIpAddressName = "wac-public-ip"
$Size = "Standard_D4s_v3"
$Image = "Win2016Datacenter"
$Credential = Get-Credential

範例 1:使用指令碼在新的虛擬網路和資源群組的新 VM 上部署 WAC 閘道器。 使用來自 aka.ms/WACDownload 的 MSI 和 MSI 的自我簽署憑證。

$scriptParams = @{
    ResourceGroupName = $ResourceGroupName
    Name = "wac-vm1"
    Credential = $Credential
    VirtualNetworkName = $VirtualNetworkName
    SubnetName = $SubnetName
    GenerateSslCert = $true
}
./Deploy-WACAzVM.ps1 @scriptParams

範例 2:與 #1 相同,但使用來自 Azure Key Vault 的憑證。

$scriptParams = @{
    ResourceGroupName = $ResourceGroupName
    Name = "wac-vm2"
    Credential = $Credential
    VirtualNetworkName = $VirtualNetworkName
    SubnetName = $SubnetName
    VaultName = $VaultName
    CertName = $CertName
}
./Deploy-WACAzVM.ps1 @scriptParams

範例 3:在現有的 VM 上使用本機 MSI 來部署 WAC。

$MsiPath = "C:\Users\<username>\Downloads\WindowsAdminCenter<version>.msi"
$scriptParams = @{
    ResourceGroupName = $ResourceGroupName
    Name = "wac-vm3"
    Credential = $Credential
    MsiPath = $MsiPath
    InstallWACOnly = $true
    GenerateSslCert = $true
}
./Deploy-WACAzVM.ps1 @scriptParams

執行 Windows Admin Center 閘道器的 VM 需求

連接埠 443 (HTTPS) 必須開啟。 您可以使用為指令碼定義的相同變數,並使用下列 Azure Cloud Shell 中的程式碼來更新網路安全性群組:

$nsg = Get-AzNetworkSecurityGroup -Name $SecurityGroupName -ResourceGroupName $ResourceGroupName
$newNSG = Add-AzNetworkSecurityRuleConfig -NetworkSecurityGroup $nsg -Name ssl-rule -Description "Allow SSL" -Access Allow -Protocol Tcp -Direction Inbound -Priority 100 -SourceAddressPrefix Internet -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 443
Set-AzNetworkSecurityGroup -NetworkSecurityGroup $newNSG

受控 Azure VM 的需求

連接埠 5985 (WinRM over HTTP) 必須開啟且具有作用中的接聽程式。 您可以使用 Azure Cloud Shell 中的下列程式碼來更新受控節點。 $ResourceGroupName$Name 使用與部署指令碼相同的變數,但您必須使用您所管理 VM 的特定 $Credential

Enable-AzVMPSRemoting -ResourceGroupName $ResourceGroupName -Name $Name
Invoke-AzVMCommand -ResourceGroupName $ResourceGroupName -Name $Name -ScriptBlock {Set-NetFirewallRule -Name WINRM-HTTP-In-TCP-PUBLIC -RemoteAddress Any} -Credential $Credential
Invoke-AzVMCommand -ResourceGroupName $ResourceGroupName -Name $Name -ScriptBlock {winrm create winrm/config/Listener?Address=*+Transport=HTTP} -Credential $Credential

在現有的 Azure 虛擬機器上手動部署

在所需的閘道器 VM 上安裝 Windows Admin Center 之前,請先安裝用於 HTTPS 通訊的 SSL 憑證,或者您可以選擇使用 Windows Admin Center 產生的自我簽署憑證。 不過,如果您選擇後一個選項,當您嘗試從瀏覽器連線時,您會收到警告。 您可以在 Edge 中略過此警告,方法是按一下[詳細資料]>[前往網頁],或在 Chrome 中選取[進階]>前往[網頁]。 我們建議您只針對測試環境使用自我簽署憑證。

注意

這些指示適用於在具有桌面體驗的 Windows Server 上安裝,而非是安裝於 Server Core 安裝上。

  1. Windows Admin Center 下載到本機電腦。

  2. 建立 VM 的遠端桌面連線,然後從本機電腦複製 MSI 並貼到 VM。

  3. 按兩下 MSI 以開始安裝,並遵循精靈中的指示。 請注意下列事項:

    • 根據預設,安裝程式會使用建議的連接埠 443 (HTTPS)。 如果您想要選取不同的連接埠,請注意,您也必須在防火牆中開啟該連接埠。

    • 如果您已在 VM 上安裝 SSL 憑證,請確定您選取了該選項並輸入指紋。

  4. 啟動 Windows Admin Center 服務 (執行 C:/Program Files/Windows Admin Center/sme.exe)

深入了解部署 Windows Admin Center。

設定閘道器 VM 以啟用 HTTPS 通訊埠存取:

  1. 在 Azure 入口網站中瀏覽至您的 VM,然後選取[網路功能]

  2. 選取[新增輸入連接埠規則] ,然後選取[服務]下方 [HTTPS]

注意

如果您選擇預設 443 以外的連接埠,請選擇 [服務] 下方的 [自訂],然後在[連接埠範圍]下輸入您在步驟 3 中選擇的連接埠。

存取安裝在 Azure VM 上的 Windows Admin Center 閘道器

此時,您應該能夠透過流覽至閘道 VM 的 DNS 名稱,從本機電腦上的新式瀏覽器 (Edge 或 Chrome) 存取 Windows Admin Center。

注意

如果您選取了 443 以外的連接埠,您可以瀏覽至 https://<VM 的 DNS 名稱>:<自訂連接埠>,以存取 Windows Admin Center

當您嘗試存取 Windows Admin Center 時,瀏覽器會提示您輸入認證,以存取安裝 Windows Admin Center 的虛擬機器。 在這裡,您必須輸入位於虛擬機器本機使用者或本機系統管理員群組中的認證。

為了在 VNet 中新增其他 VM,請於 PowerShell 或目標 VM 上的命令提示字元中執行下列命令,以確認 WinRM 在目標 VM 上執行:winrm quickconfig

如果您尚未加入 Azure VM 的網域,VM 的行為就像工作群組中的伺服器,所以您必須確定您的帳戶在工作群組中使用 Windows Admin Center