Uno script di avvio è un file che esegue attività durante il processo di avvio di un
di macchina virtuale (VM). Gli script di avvio possono essere applicati a tutte le VM in un progetto
o a una singola VM. Script di avvio specificati dall'override dei metadati a livello di VM
solo script di avvio specificati da metadati a livello di progetto e script di avvio
quando è disponibile una rete. Questo documento descrive come utilizzare l'avvio
su istanze VM di Windows Server. Per informazioni su come aggiungere un
script di avvio a livello di progetto, consulta gcloud compute project-info add-metadata
.
Gli script di avvio di Windows devono essere Command Shell (.cmd
), PowerShell (.ps1
) o
script di file batch (.bat
) e devono avere l'estensione dei file appropriata.
Se specifichi uno script di avvio utilizzando una delle procedure in questo documento, Compute Engine fa quanto segue:
Copia lo script di avvio sulla VM
Il programma di pianificazione attività esegue lo script di avvio come
LocalSystem
account all'avvio della VM
Per informazioni sulle varie attività relative agli script di avvio e su quando eseguire ognuno di essi, vedere documento di panoramica sugli script di avvio.
Prima di iniziare
- Leggi panoramica degli script di avvio.
- Scopri le nozioni di base Metadati della VM.
-
Se non l'hai già fatto, configura l'autenticazione.
Autenticazione è
la procedura di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Nella console Google Cloud, vai alla pagina Crea un'istanza.
Per Disco di avvio, seleziona Cambia e segui questi passaggi:
- Nella scheda Immagini pubbliche, scegli un server Windows Server un intero sistema operativo.
- Fai clic su Seleziona.
Espandi la sezione Opzioni avanzate ed esegui le seguenti:
- Espandi la sezione Gestione.
Nella sezione Metadati, fai clic su Aggiungi elemento per impostare la Chiave. e Valore:
Chiave: impostata su
windows-startup-script-ps1
.Gli script di avvio trasmessi alla VM utilizzando le chiavi dei metadati che iniziano con
windows-startup-script
in esecuzione a ogni avvio dopo avvio iniziale.Valore: aggiungi il seguente script:
# Installing IIS Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature # Ensure the directory exists if (-not (Test-Path("C:\inetpub\wwwroot"))) {New-Item "C:\inetpub\wwwroot" -Type Directory} # Write the expanded string out to the file, overwriting the file if it already exists. "<html><body><p>Windows startup script added directly.</p></body></html>" | Out-File -FilePath C:\inetpub\wwwroot\index.html -Encoding ascii -Force
Fai clic su Crea.
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul nome della VM.
Fai clic su Modifica.
Specifica quanto segue in Metadati:
key
:windows-startup-script-ps1
value
: i contenuti dello script di avvio
PROJECT_ID: ID progetto
ZONE: la zona in cui creare la nuova VM
Ottieni il valore
tags.fingerprint
della VM utilizzandoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID: ID progetto
ZONE: la zona della VM
VM_NAME: la zona della VM
Passa lo script di avvio utilizzando il valore
fingerprint
, insieme al comando la chiave e il valore dei metadati per lo script di avvio, in una chiamata alinstances.setMetadata
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "fingerprint": FINGERPRINT, "items": [ { "key": "windows-startup-script-ps1", "value": "Import-Module servermanager\nInstall-WindowsFeature Web-Server -IncludeAllSubFeature\necho '<html><body><p>Windows startup script added directly.</p></body></html>' > C:\\inetpub\\wwwroot\\index.html" } ], ... }
Sostituisci quanto segue:
PROJECT_ID: ID progetto
ZONE: la zona della VM
VM_NAME: la zona della VM
FINGERPRINT: il valore di
tags.fingerprint
ottenuta mediante l'uso diinstances.get
metodo
Crea un file locale (
.ps1
) in cui archiviare lo script di avvio.Osserva il percorso relativo tra gcloud CLI allo script di avvio.
Aggiungi il seguente script di avvio al file:
# Installing IIS Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature # Ensure the directory exists if (-not (Test-Path("C:\inetpub\wwwroot"))) {New-Item "C:\inetpub\wwwroot" -Type Directory} # Write the expanded string out to the file, overwriting the file if it already exists. "<html><body><p>Windows startup script passed from a file on your local workstation.</p></body></html>" | Out-File -FilePath C:\inetpub\wwwroot\index.html -Encoding ascii -Force
- VM_NAME: il nome della VM
- FILE_PATH: il percorso relativo alla startup file di script
- VM_NAME: il nome della VM
- FILE_PATH: il percorso relativo alla startup file di script
- VM_NAME: il nome della VM
- FILE_PATH: il percorso relativo alla startup file di script
- VM_NAME: il nome della VM
- FILE_PATH: il percorso relativo alla startup file di script
- VM_NAME: il nome della VM
- FILE_PATH: il percorso relativo alla startup file di script
- VM_NAME: il nome della VM
- FILE_PATH: il percorso relativo alla startup file di script
Crea un file in cui archiviare lo script di avvio. Questo esempio utilizza un PowerShell (
.ps1
).Aggiungi il seguente script PowerShell al file, che installa un server web e crea una semplice pagina web:
# Installing IIS Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature # Ensure the directory exists if (-not (Test-Path("C:\inetpub\wwwroot"))) {New-Item "C:\inetpub\wwwroot" -Type Directory} # Write the expanded string out to the file, overwriting the file if it already exists. "<html><body><p>Windows startup script passed from Cloud Storage.</p></body></html>" | Out-File -FilePath C:\inetpub\wwwroot\index.html -Encoding ascii -Force
Per impostazione predefinita, i proprietari e gli editor del progetto possono accedere File di Cloud Storage nello stesso progetto, a meno che non siano presenti contenuti espliciti controlli di accesso che lo consentono.
Se il bucket o l'oggetto Cloud Storage è meno sicuro dei metadati, esiste il rischio di escalation dei privilegi se lo script di avvio viene modificato la VM si riavvia. Questo perché, dopo il riavvio della VM, viene eseguito lo script di avvio come
LocalSystem
e potrà quindi utilizzare le autorizzazioni del servizio collegato per accedere ad altre risorse.Nella console Google Cloud, vai alla pagina Crea un'istanza.
Per Disco di avvio, seleziona Cambia e segui questi passaggi:
- Nella scheda Immagini pubbliche, scegli un server Windows Server un intero sistema operativo.
- Fai clic su Seleziona.
Nella sezione Identità e accesso API, seleziona un account di servizio che include il Visualizzatore oggetti Storage ruolo.
Espandi la sezione Opzioni avanzate e poi esegui la seguenti:
- Espandi la sezione Gestione.
Nella sezione Metadati, aggiungi i valori per i seguenti elementi:
Chiave: la chiave dei metadati. Specifica il valore
windows-startup-script-url
chiave di metadati in modo che lo script venga eseguito a ogni avvio dopo il avvio.Valore: il valore dei metadati. Imposta su Cloud Storage del file di script di avvio utilizzando uno dei seguenti formati:
- URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage:
gs://BUCKET/FILE
Sostituisci quanto segue:
- BUCKET: il nome del bucket che contiene il file dello script di avvio
- FILE: il nome dello script di avvio file
- URL autenticato:
Per creare la VM, fai clic su Crea.
Nella console Google Cloud, vai alla pagina Istanze VM.
Fai clic sul nome della VM.
Fai clic su Modifica.
In Metadati, aggiungi i seguenti valori:
- URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage:
gs://BUCKET/FILE
- URL autenticato:
- VM_NAME: il nome della VM.
-
CLOUD_STORAGE_URL: i valori dei metadati. Imposta su
il percorso del file di script di avvio utilizzando uno dei seguenti
formati:
-
URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
-
URI gcloud storage:
gs://BUCKET/FILE
-
URL autenticato:
- VM_NAME: il nome della VM.
-
CLOUD_STORAGE_URL: i valori dei metadati. Imposta su
il percorso del file di script di avvio utilizzando uno dei seguenti
formati:
-
URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
-
URI gcloud storage:
gs://BUCKET/FILE
-
URL autenticato:
- VM_NAME: il nome della VM.
-
CLOUD_STORAGE_URL: i valori dei metadati. Imposta su
il percorso del file di script di avvio utilizzando uno dei seguenti
formati:
-
URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
-
URI gcloud storage:
gs://BUCKET/FILE
-
URL autenticato:
- VM_NAME: il nome della VM.
-
CLOUD_STORAGE_URL: i valori dei metadati. Imposta su
il percorso del file di script di avvio utilizzando uno dei seguenti
formati:
-
URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
-
URI gcloud storage:
gs://BUCKET/FILE
-
URL autenticato:
- VM_NAME: il nome della VM.
-
CLOUD_STORAGE_URL: i valori dei metadati. Imposta su
il percorso del file di script di avvio utilizzando uno dei seguenti
formati:
-
URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
-
URI gcloud storage:
gs://BUCKET/FILE
-
URL autenticato:
- VM_NAME: il nome della VM.
-
CLOUD_STORAGE_URL: i valori dei metadati. Imposta su
il percorso del file di script di avvio utilizzando uno dei seguenti
formati:
-
URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
-
URI gcloud storage:
gs://BUCKET/FILE
-
URL autenticato:
PROJECT_ID: l'ID progetto.
ZONE: la zona in cui creare la nuova VM.
CLOUD_STORAGE_URL: il valore dei metadati. Imposta su il percorso Cloud Storage del file di script di avvio utilizzando uno dei seguenti formati:
- URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage:
gs://BUCKET/FILE
- URL autenticato:
Ottieni il valore
tags.fingerprint
della VM utilizzandoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Sostituisci quanto segue:
PROJECT_ID: ID progetto
ZONE: la zona della VM
VM_NAME: la zona della VM
Passa lo script di avvio utilizzando il valore
fingerprint
, insieme al comando la chiave e il valore dei metadati per lo script di avvio, in una chiamata alinstances.setMetadata
:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/setMetadata { "fingerprint": FINGERPRINT, "items": [ { "key": "windows-startup-script-url", "value": "CLOUD_STORAGE_URL" } ], ... }
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto.
ZONE: la zona della VM.
VM_NAME: la zona della VM.
FINGERPRINT: il valore di
tags.fingerprint
ottenuta mediante l'uso diinstances.get
di controllo.CLOUD_STORAGE_URL: il valore dei metadati. Imposta su il percorso Cloud Storage del file di script di avvio utilizzando uno dei seguenti formati:
- URL autenticato:
https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage:
gs://BUCKET/FILE
- URL autenticato:
Creare uno script di avvio che esegue una query sul valore di una chiave di metadati. Per Ad esempio, il seguente script di avvio di PowerShell (
.ps1
) esegue una query sul valore del token Chiave di metadatifoo
.$METADATA_VALUE = (Invoke-RestMethod -Headers @{'Metadata-Flavor' = 'Google'} -Uri "http://metadata.google.internal/computeMetadata/v1/instance/attributes/foo") # Installing IIS Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature # Ensure the directory exists if (-not (Test-Path("C:\inetpub\wwwroot"))) {New-Item "C:\inetpub\wwwroot" -Type Directory} # Write the expanded string out to the file, overwriting the file if it already exists. "<html><body><p>Accessing metadata value of foo: $METADATA_VALUE</p></body></html>" | Out-File -FilePath C:\inetpub\wwwroot\index.html -Encoding ascii -Force
Imposta il valore della chiave di metadati
foo
quando crei una VM usando il metodo persone che seguigcloud compute instances create
comando. Per questo esempio, lo script di avvio viene passato alla VM da un file locale.gcloud
gcloud compute instances create VM_NAME \ --image-project=windows-cloud \ --image-family=windows-2019 \ --metadata-from-file=windows-startup-script-ps1=FILE_PATH \ --metadata=foo=bar
Sostituisci quanto segue:
VM_NAME: il nome della VM
FILE_PATH: il percorso relativo alla startup file di script
Per ulteriori informazioni su come specificare una coppia chiave-valore di metadati, consulta Imposta e rimuovi i metadati personalizzati.
Visualizza l'IP esterno in un browser web per verificare che lo script di avvio restituisce il valore di
foo
. Potresti dover attendere circa 10 minuti prima che script di avvio di esempio da completare.Esegui questo comando:
C:\Program Files\Google\Compute Engine\metadata_scripts\run_startup_scripts.cmd
Porta seriale 1 nella console Google Cloud. Per ulteriori informazioni, vedi Visualizzazione dell'output della porta seriale.
Registro applicazioni del Visualizzatore eventi Windows.
Desktop IAP da una workstation Windows. Per ulteriori informazioni, consulta GoogleCloudPlatform/iap-desktop su GitHub.
Scopri come utilizzare gli script di avvio sulle VM Linux.
Scopri come aggiungere uno script di chiusura.
Scopri di più sui metadati delle VM.
Scopri come eseguire script di avvio sulle VM Windows e partecipare a un Dominio Microsoft AD gestito.
REST
Per utilizzare gli esempi dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Chiavi dei metadati per gli script di avvio di Windows
Uno script di avvio viene passato a una VM da una posizione specificata da un chiave di metadati. Una chiave di metadati specifica se lo script di avvio è archiviato in locale, archiviati in Cloud Storage o passati direttamente alla VM. La chiave di metadati che utilizzi potrebbe dipendere anche dalle dimensioni o dal tipo di file script di avvio.
La tabella seguente mostra le chiavi dei metadati che puoi utilizzare per l'avvio di Windows script e fornisce informazioni sulla chiave da usare in base al tipo posizione, dimensioni e tipo di file dello script di avvio.
Chiave dei metadati Da utilizzare per sysprep-specialize-script-ps1
Passare uno script PowerShell non firmato che viene archiviato localmente o aggiunto direttamente con una dimensione massima di 256 kB sysprep-specialize-script-cmd
Passare uno script shell dei comandi archiviato localmente o aggiunto direttamente e che abbia una dimensione massima di 256 kB sysprep-specialize-script-bat
Trasmettere uno script di file batch archiviato localmente o aggiunto direttamente e che abbia una dimensione massima di 256 kB sysprep-specialize-script-url
Il passaggio di un file batch, una shell di comando, uno script PowerShell firmato/non firmato o eseguibile archiviato in Cloud Storage e che sia maggiore di dimensioni superiori a 256 kB windows-startup-script-ps1
Passare uno script PowerShell non firmato che viene archiviato localmente o aggiunto direttamente con una dimensione massima di 256 kB windows-startup-script-cmd
Passare uno script shell dei comandi archiviato localmente o aggiunto direttamente e che abbia una dimensione massima di 256 kB windows-startup-script-bat
Il passaggio di uno script di file batch archiviato localmente o aggiunto direttamente fino a 256 kB windows-startup-script-url
Il passaggio di un file batch, una shell di comando, uno script PowerShell firmato/non firmato o eseguibile archiviato in Cloud Storage e che sia maggiore di dimensioni superiori a 256 kB Per ulteriori informazioni sull'ordine di esecuzione dei vari tipi di per gli script di avvio, consulta GoogleCloudPlatform/compute-image-windows su GitHub.
Ordine di esecuzione degli script di avvio di Windows
Puoi utilizzare più script di avvio. Script di avvio archiviati localmente o aggiunti da eseguire direttamente prima degli script di avvio archiviati di archiviazione ideale in Cloud Storage. Il tipo di file contenente lo script influisce anche sul dell'ordine di esecuzione. La tabella seguente mostra, in base alla chiave dei metadati, ordine di esecuzione degli script di avvio di Windows.
Chiave dei metadati Ordine di esecuzione sysprep-specialize-script-ps1
Innanzitutto, durante l'avvio iniziale sysprep-specialize-script-cmd
La seconda durante l'avvio iniziale sysprep-specialize-script-bat
Terzo durante l'avvio iniziale sysprep-specialize-script-url
Quarto durante l'avvio iniziale windows-startup-script-ps1
Prima di tutto, dopo ogni avvio windows-startup-script-cmd
Il secondo durante ogni avvio dopo l'avvio iniziale windows-startup-script-bat
Terzo durante ogni avvio, dopo windows-startup-script-url
Quarta durante ogni avvio Il passaggio diretto di uno script di avvio di Windows
Passa i contenuti di un file batch, della shell di comando o di un avvio di PowerShell non firmato direttamente su una VM Windows Server. Le seguenti procedure mostrano come passiamo uno script PowerShell non firmato.
Console
Passaggio di uno script di avvio di Windows direttamente a una nuova VM
Passaggio di uno script di avvio di Windows direttamente a una VM esistente
Verificare lo script di avvio
Dopo l'avvio della VM, visualizza l'IP esterno in un browser web per verificare che lo script di avvio ha creato il sito web. Potresti dover attendere circa 10 minuti per il completamento dello script di avvio di esempio.
gcloud (bash)
Passaggio di uno script di avvio di Windows direttamente a una nuova VM .
Passa i contenuti di uno script di avvio direttamente a una VM Windows Server quando lo crei utilizzando questo comando
gcloud compute instances create
:gcloud compute instances create VM_NAME \ --image-project=windows-cloud \ --image-family=windows-2019-core \ --metadata=windows-startup-script-ps1='Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature "<html><body><p>Windows startup script added directly.</p></body></html>" > C:\inetpub\wwwroot\index.html'
Sostituisci VM_NAME con il nome della VM.
Passaggio di uno script di avvio di Windows direttamente a una VM esistente .Aggiungi lo script di avvio direttamente a una VM esistente utilizzando quanto segue Comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --image-project=windows-cloud \ --image-family=windows-2019-core \ --metadata=windows-startup-script-ps1='Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature "<html><body><p>Windows startup script added directly.</p></body></html>" > C:\inetpub\wwwroot\index.html'
Sostituisci VM_NAME con il nome della VM.
Verifica dello script di avvio in corso... .Dopo l'avvio della VM, visualizza l'IP esterno in un browser web per verificare che lo script di avvio creato il sito web. Potresti dover attendere circa 10 minuti prima che lo script di avvio di esempio l'operazione.
gcloud (prompt dei comandi)
Passaggio di uno script di avvio di Windows direttamente a una nuova VM .
Passa i contenuti di uno script di avvio direttamente a una VM Windows Server quando lo crei utilizzando questo comando
gcloud compute instances create
:gcloud compute instances create VM_NAME ^ --image-project=windows-cloud ^ --image-family=windows-2019-core ^ --metadata=windows-startup-script-ps1='Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature "<html><body><p>Windows startup script added directly.</p></body></html>" > C:\inetpub\wwwroot\index.html'
Sostituisci VM_NAME con il nome della VM.
Passaggio di uno script di avvio di Windows direttamente a una VM esistente .Aggiungi lo script di avvio direttamente a una VM esistente utilizzando quanto segue Comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ^ --image-project=windows-cloud ^ --image-family=windows-2019-core ^ --metadata=windows-startup-script-ps1='Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature "<html><body><p>Windows startup script added directly.</p></body></html>" > C:\inetpub\wwwroot\index.html'
Sostituisci VM_NAME con il nome della VM.
Verifica dello script di avvio in corso... .Dopo l'avvio della VM, visualizza l'IP esterno in un browser web per verificare che lo script di avvio creato il sito web. Potresti dover attendere circa 10 minuti prima che lo script di avvio di esempio l'operazione.
gcloud (PowerShell)
Passaggio di uno script di avvio di Windows direttamente a una nuova VM .
Passa i contenuti di uno script di avvio direttamente a una VM Windows Server quando lo crei utilizzando questo comando
gcloud compute instances create
:gcloud compute instances create VM_NAME ` --image-project=windows-cloud ` --image-family=windows-2019-core ` --metadata=windows-startup-script-ps1='Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature "<html><body><p>Windows startup script added directly.</p></body></html>" > C:\inetpub\wwwroot\index.html'
Sostituisci VM_NAME con il nome della VM.
Passaggio di uno script di avvio di Windows direttamente a una VM esistente .Aggiungi lo script di avvio direttamente a una VM esistente utilizzando quanto segue Comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ` --image-project=windows-cloud ` --image-family=windows-2019-core ` --metadata=windows-startup-script-ps1='Import-Module servermanager Install-WindowsFeature Web-Server -IncludeAllSubFeature "<html><body><p>Windows startup script added directly.</p></body></html>" > C:\inetpub\wwwroot\index.html'
Sostituisci VM_NAME con il nome della VM.
Verifica dello script di avvio in corso... .Dopo l'avvio della VM, visualizza l'IP esterno in un browser web per verificare che lo script di avvio creato il sito web. Potresti dover attendere circa 10 minuti prima che lo script di avvio di esempio l'operazione.
REST
Passaggio di uno script di avvio di Windows direttamente a una nuova VM
Passa i contenuti di uno script di avvio direttamente a una VM Windows Server quando lo crei utilizzando i seguenti
instances.insert
gcloud.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "networkInterfaces": [ { "accessConfigs": [ { "type": "ONE_TO_ONE_NAT" } ] } ], "metadata": { "items": [ { "key": "windows-startup-script-ps1", "value": "Import-Module servermanager\nInstall-WindowsFeature Web-Server -IncludeAllSubFeature\necho '<html><body><p>Windows startup script added directly.</p></body></html>' > C:\\inetpub\\wwwroot\\index.html" } ] }, ... }
Sostituisci quanto segue:
Passaggio di uno script di avvio di Windows direttamente a una VM esistente
Verificare lo script di avvio
Dopo l'avvio della VM, visualizza l'IP esterno in un browser web per verificare che lo script di avvio ha creato il sito web. Potresti dover attendere circa 10 minuti per il completamento dello script di avvio di esempio.
Passare uno script di avvio di Windows da un file locale
Puoi archiviare uno script di avvio in un file batch locale, uno script shell di comando o script PowerShell non firmato sulla workstation e passare il file locale come metadati su una VM quando la crei. Non puoi utilizzare i file archiviati sulle VM script di avvio.
Prima di passare uno script di avvio di Windows da un file locale a una VM, segui questi passaggi: seguenti:
gcloud (bash)
Il passaggio di uno script di avvio di Windows da un file locale a una nuova VM .
Creare una VM e passare i contenuti di un file locale da utilizzare come script di avvio utilizzando il metodo
gcloud compute instances create
con il flag--metadata-from-file
:gcloud compute instances create VM_NAME \ --image-project=windows-cloud \ --image-family=windows-2019-core \ --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Sostituisci quanto segue:
Passa uno script di avvio a una VM esistente da un file locale utilizzando quanto segue: Comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Sostituisci quanto segue:
Visualizza l'IP esterno in un browser web per verificare che lo script di avvio creato il sito web. Potresti dover attendere circa 10 minuti prima che script di avvio.
gcloud (prompt dei comandi)
Il passaggio di uno script di avvio di Windows da un file locale a una nuova VM .
Creare una VM e passare i contenuti di un file locale da utilizzare come script di avvio utilizzando il metodo
gcloud compute instances create
con il flag--metadata-from-file
:gcloud compute instances create VM_NAME ^ --image-project=windows-cloud ^ --image-family=windows-2019-core ^ --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Sostituisci quanto segue:
Passa uno script di avvio a una VM esistente da un file locale utilizzando quanto segue: Comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ^ --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Sostituisci quanto segue:
Visualizza l'IP esterno in un browser web per verificare che lo script di avvio creato il sito web. Potresti dover attendere circa 10 minuti prima che script di avvio.
gcloud (PowerShell)
Il passaggio di uno script di avvio di Windows da un file locale a una nuova VM .
Creare una VM e passare i contenuti di un file locale da utilizzare come script di avvio utilizzando il metodo
gcloud compute instances create
con il flag--metadata-from-file
:gcloud compute instances create VM_NAME ` --image-project=windows-cloud ` --image-family=windows-2019-core ` --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Sostituisci quanto segue:
Passa uno script di avvio a una VM esistente da un file locale utilizzando quanto segue: Comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ` --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Sostituisci quanto segue:
Visualizza l'IP esterno in un browser web per verificare che lo script di avvio creato il sito web. Potresti dover attendere circa 10 minuti prima che script di avvio.
Trasmettere uno script di avvio di Windows da Cloud Storage
Puoi archiviare uno script di avvio come file batch, script shell di comando, script PowerShell firmato/non firmato o eseguibile in Cloud Storage e la passiamo a una VM quando la crei. Dopo aver aggiunto uno script di avvio Cloud Storage, hai un URL che puoi usare per fare riferimento all'avvio quando crei una VM.
Prima di aggiungere uno script di avvio da un bucket Cloud Storage, esegui la seguenti:
Implicazioni per la sicurezza
Console
Passaggio di uno script di avvio archiviato in Cloud Storage a una nuova VM
Passaggio di uno script di avvio archiviato in Cloud Storage a una VM esistente
Verificare lo script di avvio
Visualizza l'IP esterno in un browser web per verificare che lo script di avvio ha creato il sito web. Potresti dover attendere circa 10 minuti prima che script di avvio.
gcloud (bash)
Passaggio a una nuova VM di uno script di avvio archiviato in Cloud Storage .
Passa uno script di avvio archiviato in Cloud Storage a un server VM server utilizzando il seguente
gcloud compute instances create
un comando kubectl. Per il valore del flag--scopes
, utilizzastorage-ro
in modo che la VM possa accedere di archiviazione ideale in Cloud Storage.gcloud compute instances create VM_NAME \ --image-project=windows-cloud \ --image-family=windows-2019-core \ --scopes=storage-ro \ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Sostituisci quanto segue:
Passa uno script di avvio archiviato in Cloud Storage a un VM esistente utilizzando il seguente
gcloud compute instances add-metadata
comando:gcloud compute instances add-metadata VM_NAME \ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Sostituisci quanto segue:
Visualizza l'IP esterno in un browser web per verificare che il sito web sia stato creato dallo script di avvio. Tu potrebbe essere necessario attendere circa 10 minuti per il completamento dello script di avvio di esempio.
gcloud (prompt dei comandi)
Passaggio a una nuova VM di uno script di avvio archiviato in Cloud Storage .
Passa uno script di avvio archiviato in Cloud Storage a un server VM server utilizzando il seguente
gcloud compute instances create
un comando kubectl. Per il valore del flag--scopes
, utilizzastorage-ro
in modo che la VM possa accedere di archiviazione ideale in Cloud Storage.gcloud compute instances create VM_NAME ^ --image-project=windows-cloud ^ --image-family=windows-2019-core ^ --scopes=storage-ro ^ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Sostituisci quanto segue:
Passa uno script di avvio archiviato in Cloud Storage a un VM esistente utilizzando il seguente
gcloud compute instances add-metadata
comando:gcloud compute instances add-metadata VM_NAME ^ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Sostituisci quanto segue:
Visualizza l'IP esterno in un browser web per verificare che il sito web sia stato creato dallo script di avvio. Tu potrebbe essere necessario attendere circa 10 minuti per il completamento dello script di avvio di esempio.
gcloud (PowerShell)
Passaggio a una nuova VM di uno script di avvio archiviato in Cloud Storage .
Passa uno script di avvio archiviato in Cloud Storage a un server VM server utilizzando il seguente
gcloud compute instances create
un comando kubectl. Per il valore del flag--scopes
, utilizzastorage-ro
in modo che la VM possa accedere di archiviazione ideale in Cloud Storage.gcloud compute instances create VM_NAME ` --image-project=windows-cloud ` --image-family=windows-2019-core ` --scopes=storage-ro ` --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Sostituisci quanto segue:
Passa uno script di avvio archiviato in Cloud Storage a un VM esistente utilizzando il seguente
gcloud compute instances add-metadata
comando:gcloud compute instances add-metadata VM_NAME ` --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Sostituisci quanto segue:
Visualizza l'IP esterno in un browser web per verificare che il sito web sia stato creato dallo script di avvio. Tu potrebbe essere necessario attendere circa 10 minuti per il completamento dello script di avvio di esempio.
REST
Passaggio di uno script di avvio archiviato in Cloud Storage a una nuova VM
Passa uno script di avvio archiviato in Cloud Storage a un server VM server utilizzando il seguente
instances.insert
gcloud. Allescopes
aggiungihttps://www.googleapis.com/auth/devstorage.read_only
in modo che la VM possono accedere a Cloud Storage.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { ... "networkInterfaces": [ { "accessConfigs": [ { "type": "ONE_TO_ONE_NAT" } ] } ], "serviceAccounts": [ { "email": "default", "scopes": [ "https://www.googleapis.com/auth/devstorage.read_only" ] } ], "metadata": { "items": [ { "key": "windows-startup-script-url", "value": "CLOUD_STORAGE_URL" }, ... ] }, ... }
Sostituisci quanto segue:
Passaggio di uno script di avvio archiviato in Cloud Storage a una VM esistente
Verificare lo script di avvio
Visualizza l'IP esterno in un browser web per verificare che lo script di avvio ha creato il sito web. Potresti dover attendere circa 10 minuti prima che script di avvio.
Accesso ai metadati da uno script di avvio di Windows
In uno script di avvio puoi accedere ai valori dei metadati. Ad esempio, puoi utilizzare lo stesso script per più VM e parametrizza ogni script singolarmente passando diversi valori dei metadati a ogni VM.
Per accedere a un valore di metadati personalizzato da uno script di avvio:
Nuova esecuzione di uno script di avvio di Windows
Esegui di nuovo uno script di avvio su una VM Windows seguendo questa procedura:
Visualizzazione dell'output di uno script di avvio di Windows
Visualizza l'output di uno script di avvio di Windows Server utilizzando uno dei seguire e controllare
GCEMetadataScripts
eventi:Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-10-14 UTC.
-