Distribuire manualmente Windows Admin Center in Azure per la gestione di più server

Questo articolo descrive come distribuire manualmente Windows Admin Center in una macchina virtuale di Azure da usare per la gestione di più macchine virtuali di Azure. Per gestire una singola macchina virtuale, usare invece la funzionalità di Windows Admin Center incorporata nel portale di Azure, come descritto in Usare Windows Admin Center nella portale di Azure).

Eseguire la distribuzione con script

È possibile scaricare Deploy-WACAzVM.ps1 che verrà eseguito da Azure Cloud Shell per configurare un gateway Windows Admin Center in Azure. Questo script può creare l'intero ambiente, incluso il gruppo di risorse.

Passare alla procedura di distribuzione manuale

Prerequisiti

  • Configurare l'account in Azure Cloud Shell. Se questa è la prima volta che si usa Cloud Shell, verrà chiesto di associare o creare un account di archiviazione di Azure con Cloud Shell.
  • In un Cloud Shell di PowerShell passare alla home directory:PS Azure:\> cd ~
  • Per caricare il Deploy-WACAzVM.ps1 file, trascinarlo dal computer locale in qualsiasi punto della finestra di Cloud Shell.

Se si specifica un certificato personalizzato:

  • Upload il certificato in Azure Key Vault. Creare prima di tutto un insieme di credenziali delle chiavi in portale di Azure, quindi caricare il certificato nell'insieme di credenziali delle chiavi. In alternativa, è possibile usare portale di Azure per generare automaticamente un certificato.

Parametri di script

  • ResourceGroupName - [String] Specifica il nome del gruppo di risorse in cui verrà creata la macchina virtuale.

  • Name - [String] Specifica il nome della macchina virtuale.

  • Credential - [PSCredential] Specifica le credenziali per la macchina virtuale.

  • MsiPath - [String] Specifica il percorso locale dell'identità del servizio gestito Windows Admin Center durante la distribuzione di Windows Admin Center in una macchina virtuale esistente. L'impostazione predefinita è la versione da https://aka.ms/WACDownload se omessa.

  • VaultName - [String] Specifica il nome dell'insieme di credenziali delle chiavi che contiene il certificato.

  • CertName - [String] Specifica il nome del certificato da usare per l'installazione msi.

  • GenerateSslCert - [Switch] True se l'identità del servizio gestito deve generare un certificato SSL autofirmato.

  • PortNumber - [int] Specifica il numero di porta ssl per il servizio Windows Admin Center. Il valore predefinito è 443 se omesso.

  • OpenPorts - [int[]] Specifica le porte aperte per la macchina virtuale.

  • Location - [String] Specifica il percorso della macchina virtuale.

  • Size - [String] Specifica le dimensioni della macchina virtuale. Il valore predefinito è "Standard_DS1_v2" se omesso.

  • Image - [String] Specifica l'immagine della macchina virtuale. Il valore predefinito è "Win2016Datacenter" se omesso.

  • VirtualNetworkName - [String] Specifica il nome della rete virtuale per la macchina virtuale.

  • SubnetName - [String] Specifica il nome della subnet per la macchina virtuale.

  • SecurityGroupName - [String] Specifica il nome del gruppo di sicurezza per la macchina virtuale.

  • PublicIpAddressName - [String] Specifica il nome dell'indirizzo IP pubblico per la macchina virtuale.

  • InstallWACOnly - [Switch] Impostare su True se wac deve essere installato in una macchina virtuale di Azure preesistente.

Sono disponibili 2 opzioni diverse per l'identità del servizio gestito da distribuire e il certificato usato per l'installazione msi. L'identità del servizio gestito può essere scaricata da aka.ms/WACDownload o, se si esegue la distribuzione in una macchina virtuale esistente, è possibile specificare il percorso file di un'identità del servizio gestito in locale nella macchina virtuale. Il certificato è disponibile in Azure Key Vault o in un certificato autofirmato verrà generato dall'identità del servizio gestito.

Esempi di script

Definire prima di tutto le variabili comuni necessarie per i parametri dello script.

$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

Esempio 1: usare lo script per distribuire il gateway WAC in una nuova macchina virtuale in una nuova rete virtuale e in un nuovo gruppo di risorse. Usare l'identità del servizio gestito da aka.ms/WACDownload e un certificato autofirmato dall'identità del servizio gestito.

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

Esempio 2: uguale a #1, ma usando un certificato di Azure Key Vault.

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

Esempio 3: Uso di un'identità del servizio gestito locale in una macchina virtuale esistente per distribuire 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

Requisiti per la macchina virtuale che esegue il gateway Windows Admin Center

La porta 443 (HTTPS) deve essere aperta. Usando le stesse variabili definite per lo script, è possibile usare il codice seguente in Azure Cloud Shell per aggiornare il gruppo di sicurezza di rete:

$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

Requisiti per le macchine virtuali di Azure gestite

La porta 5985 (WinRM su HTTP) deve essere aperta e avere un listener attivo. È possibile usare il codice seguente in Azure Cloud Shell per aggiornare i nodi gestiti. $ResourceGroupName e $Name usano le stesse variabili dello script di distribuzione, ma sarà necessario usare lo $Credential specifico per la macchina virtuale gestita.

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

Distribuire manualmente in una macchina virtuale di Azure esistente

Prima di installare Windows Admin Center nella macchina virtuale del gateway desiderata, installare un certificato SSL da usare per la comunicazione HTTPS oppure scegliere di usare un certificato autofirmato generato da Windows Admin Center. Tuttavia, si riceverà un avviso quando si tenta di connettersi da un browser se si sceglie quest'ultima opzione. È possibile ignorare questo avviso in Edge facendo clic su Dettagli > Vai alla pagina Web o, in Chrome, selezionando Avanzate > continua a [pagina Web]. È consigliabile usare solo certificati autofirmato per gli ambienti di test.

Nota

Queste istruzioni sono per l'installazione in Windows Server con Esperienza desktop, non in un'installazione Server Core.

  1. Scaricare Windows Admin Center nel computer locale.

  2. Stabilire una connessione Desktop remoto alla macchina virtuale, quindi copiare l'identità del servizio gestito dal computer locale e incollarla nella macchina virtuale.

  3. Fare doppio clic sull'identità del servizio gestito per avviare l'installazione e seguire le istruzioni della procedura guidata. Tenere presente quanto segue:

    • Per impostazione predefinita, il programma di installazione usa la porta 443 (HTTPS) consigliata. Se si vuole selezionare una porta diversa, tenere presente che è necessario aprire anche tale porta nel firewall.

    • Se nella macchina virtuale è già stato installato un certificato SSL, assicurarsi di selezionare tale opzione e immettere l'identificazione personale.

  4. Avviare il servizio Windows Admin Center (eseguire C:/Programmi/Windows Admin Center/sme.exe)

Altre informazioni sulla distribuzione di Windows Admin Center.

Configurare la macchina virtuale del gateway per abilitare l'accesso alla porta HTTPS:

  1. Passare alla macchina virtuale nel portale di Azure e selezionare Rete.

  2. Selezionare Aggiungi regola porta in ingresso e selezionare HTTPS in Servizio.

Nota

Se si sceglie una porta diversa dall'impostazione predefinita 443, scegliere Personalizzato in Servizio e immettere la porta scelta nel passaggio 3 in Intervalli di porte.

Accesso a un gateway Windows Admin Center installato in una macchina virtuale di Azure

A questo punto, dovrebbe essere possibile accedere Windows Admin Center da un browser moderno (Edge o Chrome) nel computer locale passando al nome DNS della macchina virtuale del gateway.

Nota

Se è stata selezionata una porta diversa da 443, è possibile accedere Windows Admin Center passando al nome https://< DNS della porta vm>:<personalizzata>

Quando si tenta di accedere a Windows Admin Center, il browser richiederà le credenziali per accedere alla macchina virtuale in cui è installato Windows Admin Center. Qui è necessario immettere le credenziali presenti nel gruppo Utenti locali o Amministratori locali della macchina virtuale.

Per aggiungere altre macchine virtuali nella rete virtuale, assicurarsi che WinRM sia in esecuzione nelle macchine virtuali di destinazione eseguendo quanto segue in PowerShell o il prompt dei comandi nella macchina virtuale di destinazione: winrm quickconfig

Se la macchina virtuale di Azure non è stata aggiunta a un dominio, la macchina virtuale si comporta come un server nel gruppo di lavoro, quindi è necessario assicurarsi di tenere conto dell'uso di Windows Admin Center in un gruppo di lavoro.