Questo tutorial mostra come configurare il servizio Chrome Remote Desktop su un'istanza di macchina virtuale (VM) Microsoft Windows su Compute Engine. Per istruzioni separate per le VM Linux, vedi Macchine virtuali Linux. Chrome Remote Desktop ti consente di accedere da remoto ad applicazioni con un'interfaccia utente grafica da un computer locale o un dispositivo mobile.
Quando segui questo tutorial, le regole firewall predefinite consentono le connessioni di Chrome Remote Desktop; non devi configurare regole firewall aggiuntive.
La VM deve accedere a internet (con un indirizzo IP esterno o tramite Cloud NAT) e utilizzi il tuo Account Google per l'autenticazione e l'autorizzazione.
Vengono descritti due metodi di configurazione di Chrome Remote Desktop:
Un metodo interattivo che utilizza il protocollo RDP (Remote Desktop Protocol) di Windows.
Questo metodo richiede che la VM sia accessibile direttamente dalla tua macchina locale utilizzando un client RDP, il che potrebbe non essere possibile in tutte le situazioni.
Un metodo non interattivo che utilizza uno script di avvio per installare e configurare Chrome Remote Desktop durante la creazione della VM.
Questo metodo deve essere utilizzato se hai firewall che impediscono l'accesso diretto alla VM o se non hai accesso a un client RDP, ad esempio su ChromeOS.
Questo tutorial presuppone che tu abbia familiarità con Microsoft Windows e la riga di comando PowerShell.
Per informazioni su altre opzioni per la creazione di workstation virtuali, consulta Creazione di una workstation virtuale.
Installazione interattiva tramite RDP
Per installare Chrome Remote Desktop in modo interattivo, devi essere in grado di connetterti alla VM remota utilizzando un client RDP. In questo tutorial, creerai la VM nel VPC predefinito con regole firewall predefinite, che espone la porta RDP 3339 a internet.
Se ciò non è possibile nel tuo ambiente, utilizza il metodo non interattivo descritto più avanti in questo documento.
Crea un'istanza di Compute Engine
Ai fini di questo tutorial, viene utilizzato il tipo di macchina predefinito. Se lo utilizzi per il tuo ambiente, potresti voler modificare il tipo di macchina, il nome, la regione, la dimensione del disco di avvio o altre impostazioni.
Console
- Nella console Google Cloud , vai alla pagina Istanze VM:
Fai clic su Crea.
Imposta il nome dell'istanza su
crdhost
.Attiva la casella di controllo Attiva dispositivo di visualizzazione perché Chrome Remote Desktop richiede un dispositivo di visualizzazione sulle VM Windows.
Nella sezione Disco di avvio, fai clic su Cambia per aprire il riquadro Disco di avvio.
Nell'elenco Sistema operativo, seleziona Windows Server.
Nell'elenco Versione, seleziona Windows Server 2022 Datacenter.
Fai clic su Seleziona per chiudere il riquadro.
Fai clic su Crea.
Cloud Shell
Apri Cloud Shell.
Imposta la zona che preferisci:
ZONE=us-central1-b REGION=us-central1 gcloud config set compute/zone "${ZONE}"
Crea un'istanza Compute Engine utilizzando l'immagine dell'app per Windows Server 2022 Datacenter:
gcloud compute instances create crdhost \ --machine-type=e2-medium \ --scopes=cloud-platform \ --enable-display-device \ --image-family=windows-2022 \ --image-project=windows-cloud \ --boot-disk-size=50GB \ --boot-disk-device-name=crdhost
Questo comando crea una macchina virtuale Windows Server 2022 con un display collegato (necessario per Chrome Remote Desktop sulle VM Windows), un disco di avvio da 50 GB e concede all'istanza l'accesso completo alle APIGoogle Cloud .
Ignora l'avviso relativo alle prestazioni del disco perché non hai bisogno di prestazioni elevate per questo tutorial.
Connettiti all'istanza VM utilizzando RDP
Nella console Google Cloud , vai alla pagina Istanze VM.
Assicurati che accanto al nome dell'istanza
crdhost
sia visualizzato un segno di spunta verde check che indica che l'istanza è pronta.Fai clic sul nome dell'istanza
crdhost
per aprire la pagina Dettagli istanza VM.Nella sezione Accesso remoto, fai clic su Imposta password di Windows e poi su Imposta per creare il tuo account sul computer remoto.
Questo passaggio genera una password per te. Prendi nota della password o copiala in un file temporaneo sicuro.
Per connetterti all'istanza remota, fai clic sulla freccia arrow_drop_down accanto al pulsante RDP e seleziona Scarica il file RDP. Puoi aprire il file RDP utilizzando il client RDP che preferisci.
Quando il tuo client RDP richiede una password, inserisci la password che hai generato in precedenza.
Quando ti viene chiesto se vuoi che il computer possa essere rilevato da altri PC e dispositivi della rete, fai clic su No.
Chiudi la dashboard di Server Manager se è aperta.
Installare il servizio Chrome Remote Desktop
Il passaggio successivo consiste nell'installare Google Chrome e il servizio Chrome Remote Desktop sull'istanza VM.
Nella sessione RDP, fai clic su Start (Avvia) nella barra delle app di Windows, digita
PowerShell
e poi seleziona l'app Windows PowerShell.Al prompt di PowerShell, scarica ed esegui il programma di installazione dell'host Chrome Remote Desktop.
$installer = "$env:TEMP\chromeremotedesktophost.msi" $uri = 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi' (New-Object Net.WebClient).DownloadFile($uri,"$installer") Start-Process $installer -Wait Remove-Item $installer
Quando ti viene chiesto, conferma che vuoi che il programma di installazione apporti modifiche.
Configurare il servizio Chrome Remote Desktop
Ora generi un comando Windows che avvia il servizio Chrome Remote Desktop e lo collega al tuo Account Google.
Sul computer locale, utilizzando il browser Chrome, vai alla pagina di configurazione della riga di comando di Chrome Remote Desktop.
Se non l'hai ancora fatto, accedi con un Account Google. Questo è l'account che verrà utilizzato per autorizzare l'accesso remoto.
Nella pagina Configura un altro computer, fai clic su Inizia, poi su Avanti.
Fai clic su Autorizza.
Devi consentire a Chrome Remote Desktop di accedere al tuo account. Se approvi, la pagina mostra diverse righe di comando, una delle quali è per Windows (Powershell) e ha questo aspetto:
& "${Env:PROGRAMFILES(X86)}\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" ` --code="4/ENCODED_AUTHENTICATION_TOKEN" ` --redirect-url="https://remotedesktop.google.com/_/oauthredirect" ` --name=$Env:COMPUTERNAME
Fai clic su Copia content_copy per copiare la riga di comando negli appunti.
Nella sessione RDP, al prompt di PowerShell, incolla la riga di comando che hai appena copiato e premi Invio.
Quando ti viene chiesto, conferma che vuoi che l'applicazione apporti modifiche.
Quando ti viene chiesto, inserisci un PIN di 6 cifre. Questo numero verrà utilizzato per un'autorizzazione aggiuntiva quando ti connetterai in un secondo momento.
Una volta completato il comando, il servizio di desktop remoto è stato avviato.
Chiudi la finestra di PowerShell.
Chiudi la sessione RDP.
Ora puoi connetterti alla VM utilizzando Chrome Remote Desktop.
Installazione non interattiva
Con questo approccio, configuri l'istanza VM in modo che abbia uno script di avvio che viene eseguito quando viene creata la VM.
Con questo approccio, la VM non deve essere accessibile direttamente da internet, anche se deve comunque avere accesso a internet.
Autorizzare il servizio Chrome Remote Desktop
Ora generi un comando Windows che utilizzerai in un secondo momento nello script di specializzazione. Nell'ambito di questa procedura, fornisci le informazioni di autorizzazione incluse nel comando.
Sul computer locale, utilizzando il browser Chrome, vai alla pagina di configurazione della riga di comando di Chrome Remote Desktop.
Se non l'hai ancora fatto, accedi con un Account Google. Questo è l'account che verrà utilizzato per autorizzare l'accesso remoto.
Fai clic su Inizia e poi su Avanti.
Fai clic su Autorizza.
Consenti a Chrome Remote Desktop di accedere al tuo account.
La pagina ora contiene diverse righe di comando, una delle quali è per Windows (Cmd) e ha il seguente aspetto:
"%PROGRAMFILES(X86)%\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" --code="4/ENCODED_AUTHENTICATION_TOKEN" --redirect-url="https://remotedesktop.google.com/_/oauthredirect" --name=%COMPUTERNAME%
Il flag
--code
contiene un token OAuth univoco di breve durata.Il codice di autorizzazione nella riga di comando è valido solo per pochi minuti e puoi utilizzarlo una sola volta.
Tieni aperta questa pagina.
Copia il comando di avvio in Cloud Shell
Il passaggio successivo consiste nel creare un file nell'istanza Cloud Shell che contenga il comando di avvio appena generato.
Apri Cloud Shell.
Crea un file per il comando di avvio:
cat > crd-auth-command.txt
Vai alla pagina con il comando di avvio di Chrome Remote Desktop e copia la riga di comando Windows (Cmd).
In Cloud Shell, incolla il comando per aggiungerlo al file.
Premi Invio per terminare la riga, quindi premi Ctrl+D per chiudere il file.
Crea lo script di avvio
Copia il seguente blocco di codice e incollalo in Cloud Shell.
cat << "EOF" > crd-sysprep-script.ps1 <# .SYNOPSIS GCESysprep specialize script for unattended Chrome Remote Desktop installation. #> $ErrorActionPreference = 'stop' function Get-Metadata([String]$metadataName) { try { $value = (Invoke-RestMethod ` -Headers @{'Metadata-Flavor' = 'Google'} ` -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/$metadataName") } catch { # Report but ignore REST errors. Write-Host $_ } if ($value -eq $null -or $value.Length -eq 0) { throw "Metadata value for ""$metadataName"" not specified. Skipping Chrome Remote Desktop service installation." } return $value } # Get config from metadata # $crdCommand = Get-Metadata('crd-command') $crdPin = Get-Metadata('crd-pin') $crdName = Get-Metadata('crd-name') if ($crdPin -isNot [Int32] -or $crdPin -gt 999999 -or $crdPin -lt 0) { throw "Metadata ""crd-pin""=""$crdPin"" is not a 6 digit number. Skipping Chrome Remote Desktop service installation." } # Prefix $crdPin with zeros if required. $crdPin = $crdPin.ToString("000000"); # Extract the authentication code and redirect URL arguments from the # remote dekstop startup command line. # $crdCommandArgs = $crdCommand.Split(' ') $codeArg = $crdCommandArgs | Select-String -Pattern '--code="[^"]+"' $redirectArg = $crdCommandArgs | Select-String -Pattern '--redirect-url="[^"]+"' if (-not $codeArg) { throw 'Cannot get --code= parameter from crd-command. Skipping Chrome Remote Desktop service installation.' } if (-not $redirectArg) { throw 'Cannot get --redirect-url= parameter from crd-command. Skipping Chrome Remote Desktop service installation.' } Write-Host 'Downloading Chrome Remote Desktop.' $installer = "$env:TEMP\chromeremotedesktophost.msi" $uri = 'https://dl.google.com/edgedl/chrome-remote-desktop/chromeremotedesktophost.msi' (New-Object Net.WebClient).DownloadFile($uri,"$installer") Write-Host 'Installing Chrome Remote Desktop.' & msiexec.exe /I $installer /qn /quiet | Out-Default Remove-Item $installer Write-Host 'Starting Chrome Remote Desktop service.' & "${env:ProgramFiles(x86)}\Google\Chrome Remote Desktop\CurrentVersion\remoting_start_host.exe" ` $codeArg $redirectArg --name="$crdName" -pin="$crdPin" | Out-Default Write-Host 'Downloading Chrome.' $installer = "$env:TEMP\chrome_installer.exe" $uri = 'https://dl.google.com/chrome/install/latest/chrome_installer.exe' (New-Object Net.WebClient).DownloadFile($uri,"$installer") Write-Host 'Installing Chrome.' & $installer /silent /install | Out-Default Remove-Item $installer EOF
Questo blocco di codice è uno script PowerShell che viene eseguito quando viene creata la VM. Esegue le seguenti azioni:
- Scarica e installa il servizio host di Chrome Remote Desktop.
- Recupera i seguenti parametri dei metadati:
crd-command
: il comando di autenticazione e avvio di Windows.crd-pin
: il PIN di 6 cifre utilizzato per l'autenticazione aggiuntiva.crd-name
: il nome di questa istanza.
- Configura e avvia il servizio host di Chrome Remote Desktop.
- Scarica e installa il browser Chrome.
Crea una nuova macchina virtuale Windows
Ora crea una nuova VM Windows utilizzando i file creati in precedenza per configurare e impostare Chrome Remote Desktop.
Ai fini di questo tutorial, viene utilizzato il tipo di macchina e2-medium
. Se
lo utilizzi per il tuo ambiente, potresti voler modificare il tipo di macchina, il nome, la regione, la dimensione del disco di avvio o altre impostazioni.
In Cloud Shell, imposta la zona che preferisci:
ZONE=us-central1-b REGION=us-central1 gcloud config set compute/zone "${ZONE}"
Imposta un PIN di 6 cifre per l'autenticazione aggiuntiva a Chrome Remote Desktop:
CRD_PIN=your-pin
Sostituisci your-pin con un numero di 6 cifre.
Imposta un nome per questa istanza VM:
INSTANCE_NAME=crdhost
Crea l'istanza:
gcloud compute instances create ${INSTANCE_NAME} \ --machine-type=e2-medium \ --scopes=cloud-platform \ --enable-display-device \ --image-family=windows-2022 \ --image-project=windows-cloud \ --boot-disk-size=50GB \ --boot-disk-device-name=${INSTANCE_NAME} \ --metadata=crd-pin=${CRD_PIN},crd-name=${INSTANCE_NAME} \ --metadata-from-file=crd-command=crd-auth-command.txt,sysprep-specialize-script-ps1=crd-sysprep-script.ps1
Questo comando crea una macchina virtuale Windows Server 2022 nel VPC predefinito con un dispositivo di visualizzazione collegato (necessario per Chrome Remote Desktop sulle VM Windows), un disco di avvio da 50 GB e concede all'istanza l'accesso completo alle API Google Cloud .
I valori dei metadati specificano lo script di specializzazione, la riga di comando di avvio di Windows e i parametri necessari per avviare il servizio Chrome Remote Desktop.
Monitora l'avvio della VM
Puoi verificare che lo script di avvio sia stato eseguito correttamente controllando i messaggi registrati nella porta seriale della VM durante la creazione.
In Cloud Shell, visualizza i messaggi registrati durante l'avvio della VM:
gcloud compute instances tail-serial-port-output ${INSTANCE_NAME}
Se la configurazione di Chrome Remote Desktop va a buon fine, vengono visualizzate le seguenti righe di log:
Found sysprep-specialize-script-ps1 in metadata. sysprep-specialize-script-ps1: Downloading Chrome Remote Desktop. sysprep-specialize-script-ps1: Installing Chrome Remote Desktop. sysprep-specialize-script-ps1: Downloading Chrome. sysprep-specialize-script-ps1: Installing Chrome. sysprep-specialize-script-ps1: Starting Chrome Remote Desktop service. Finished running specialize scripts.
Potresti anche visualizzare la seguente riga:
sysprep-specialize-script-ps1: ... Failed to read 'C:\ProgramData\Google\Chrome Remote Desktop\host_unprivileged.json'.: The system cannot find the path specified. (0x3)
È normale e può essere ignorato.
Se l'avvio del servizio Chrome Remote Desktop non riesce, viene visualizzato un messaggio di errore che indica il problema, ad esempio:
sysprep-specialize-script-ps1: Couldn't start host: OAuth error.
Questo errore indica che il token OAuth della pagina di autenticazione di Chrome Remote Desktop non è più valido perché è già stato utilizzato o è scaduto.
Per correggere questo errore, connettiti utilizzando RDP ed esegui una configurazione interattiva come descritto in precedenza oppure elimina la VM e riprova la procedura di configurazione.
Quando nel monitor della porta seriale viene visualizzato il seguente messaggio, la VM è pronta.
GCEInstanceSetup: ------------------------------------------------------------ GCEInstanceSetup: Instance setup finished. crdhost is ready to use. GCEInstanceSetup: ------------------------------------------------------------
Premi Ctrl+C per interrompere la visualizzazione dei messaggi di avvio.
Creare un account utente Windows
Nella console Google Cloud , vai alla pagina Istanze VM.
Fai clic sul nome dell'istanza
crdhost
per aprire la pagina Dettagli istanza VM.Nella sezione Accesso remoto, fai clic su Imposta password di Windows e poi su Imposta per creare il tuo account sul computer remoto.
Questo passaggio genera una password per te. Prendi nota del nome utente e della password o copiali in un file temporaneo sicuro.
Connettiti all'istanza VM con Chrome Remote Desktop
Puoi connetterti all'istanza VM utilizzando l'applicazione web Chrome Remote Desktop.
Sul computer locale, vai al sito web di Chrome Remote Desktop.
Fai clic su Accedi al mio computer.
Se non hai ancora eseguito l'accesso a Google, accedi con lo stesso Account Google utilizzato per configurare il servizio Chrome Remote Desktop.
La nuova istanza VM
crdhost
viene visualizzata nell'elenco Dispositivi remoti.Fai clic sul nome dell'istanza di desktop remoto.
Quando richiesto, inserisci il PIN che hai creato in precedenza e poi fai clic sul pulsante con la freccia arrow_forward per connetterti.
Ora sei connesso alla schermata di accesso di Windows sull'istanza Compute Engine remota.
Se ti viene richiesto, consenti sempre all'applicazione Remote Desktop di leggere gli appunti e di copiare e incollare tra applicazioni locali e remote.
Premi un tasto qualsiasi e inserisci la password dell'utente Windows che hai generato in precedenza. Tieni presente che la tastiera remota predefinita ha un layout in inglese americano, quindi i caratteri inseriti potrebbero non corrispondere a quelli della tastiera locale. Inoltre, non puoi copiare e incollare la password.
Ora sei connesso e hai eseguito l'accesso al desktop Windows remoto.
Migliorare l'esperienza di desktop remoto
Questa sezione fornisce istruzioni per modificare le impostazioni al fine di migliorare l'esperienza di desktop remoto.
Installare l'app Chrome Remote Desktop
L'app Chrome Remote Desktop offre un'esperienza separata in finestra e consente di utilizzare le scorciatoie da tastiera che normalmente vengono intercettate da Chrome sul sistema remoto.
Se questa app non è installata, procedi nel seguente modo:
- Apri il riquadro Opzioni sessione utilizzando il pulsante chevron_left che viene visualizzato quando sposti il mouse sul lato della finestra.
- Nella sezione Installa app, fai clic su Inizia.
- Fai clic su Installa.
La sessione di Remote Desktop si riapre nella propria finestra dell'applicazione.
Puoi spostare qualsiasi sessione di desktop remoto da una scheda di Chrome alla finestra dell'app facendo clic sull'icona Apri con open_in_new nella barra degli indirizzi.
Migliorare la risoluzione dello schermo
La risoluzione del desktop remoto predefinita può essere modificata per adattarsi meglio alla risoluzione del desktop dei computer locali.
- Fai clic con il tasto destro del mouse sullo sfondo del desktop remoto e seleziona Impostazioni schermo.
- Nell'elenco a discesa Risoluzione, seleziona una risoluzione dello schermo diversa.
- Conferma la nuova risoluzione dello schermo nella finestra di dialogo.
Riattivare il servizio
Se hai disattivato per errore le connessioni all'istanza remota nell'app client, puoi riconfigurare il servizio e riattivarlo seguendo le istruzioni riportate in Configurare il servizio Chrome Remote Desktop.