Um script de inicialização é um arquivo que executa tarefas durante o processo de inicialização de uma
instância de máquina virtual (VM, na sigla em inglês). Os scripts de inicialização podem ser aplicados a todas as VMs em um projeto
ou a uma única VM. Os scripts de inicialização especificados pelos metadados da VM modificam
os scripts de inicialização especificados pelos metadados do projeto, e os scripts de inicialização
são executados apenas quando uma rede está disponível. Neste documento, descrevemos como usar scripts
de inicialização em instâncias de VM do Windows Server. Saiba mais sobre como adicionar um
script de inicialização no nível do projeto em gcloud compute project-info add-metadata
.
Os scripts de inicialização do Windows precisam ser shell de comando (.cmd
), PowerShell (.ps1
) ou
scripts de arquivos em lote (.bat
) e ter a extensão de arquivo apropriada.
Se você especificar um script de inicialização usando um dos procedimentos neste documento, o Compute Engine:
Copiará o script de inicialização na VM
O Agendador de Tarefas executa o script de inicialização como a conta
LocalSystem
quando a VM é inicializada
Para informações sobre as várias tarefas relacionadas aos scripts de inicialização e quando realizar cada uma delas, consulte o documento de visão geral dos scripts de inicialização.
Antes de começar
- Leia a visão geral dos scripts de inicialização.
- Leia sobre os conceitos básicos dos metadados de VM.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
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.
No console do Google Cloud, acesse a página Criar uma instância.
Em Disco de inicialização, selecione Alterar e faça o seguinte:
- Na guia Imagens públicas, escolha um sistema operacional Windows Server.
- Clique em Selecionar.
Expanda a seção Opções avançadas e faça o seguinte:
- Expanda a seção Gerenciamento.
Na seção Metadados, clique em Adicionar item para definir a Chave e o Valor:
Chave: defina como
windows-startup-script-ps1
.Scripts de inicialização transmitidos à VM usando chaves de metadados que começam com
windows-startup-script
são executados em cada inicialização após a inicialização inicial da VM.Valor: adicione o seguinte 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
Clique em Criar.
No console do Google Cloud, acesse a página Instâncias de VMs.
Clique no Nome da VM.
Clique em Editar.
Em Metadados, especifique o seguinte:
key
:windows-startup-script-ps1
value
: o conteúdo do script de inicialização
PROJECT_ID: o ID do projeto;
ZONE: zona em que a VM será criada
Receba o valor
tags.fingerprint
da VM usando o métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua:
PROJECT_ID: o ID do projeto
ZONE: a zona da VM
VM_NAME: a zona da VM
Transmita o script de inicialização usando o valor
fingerprint
com a chave e o valor de metadados do script de inicialização em uma chamada para o métodoinstances.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" } ], ... }
Substitua:
PROJECT_ID: o ID do projeto
ZONE: a zona da VM
VM_NAME: a zona da VM
FINGERPRINT: o valor
tags.fingerprint
recebido usando o métodoinstances.get
Crie um arquivo local (
.ps1
) para armazenar o script de inicialização.Observe o caminho relativo da CLI gcloud para o script de inicialização.
Adicione o seguinte script de inicialização ao arquivo:
# 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: o nome da VM
- FILE_PATH: o caminho relativo para o arquivo de script de inicialização
- VM_NAME: o nome da VM
- FILE_PATH: o caminho relativo para o arquivo de script de inicialização
- VM_NAME: o nome da VM
- FILE_PATH: o caminho relativo para o arquivo de script de inicialização
- VM_NAME: o nome da VM
- FILE_PATH: o caminho relativo para o arquivo de script de inicialização
- VM_NAME: o nome da VM
- FILE_PATH: o caminho relativo para o arquivo de script de inicialização
- VM_NAME: o nome da VM
- FILE_PATH: o caminho relativo para o arquivo de script de inicialização
Crie um arquivo para armazenar o script de inicialização. Neste exemplo, usamos um arquivo PowerShell (
.ps1
).Adicione o script do PowerShell a seguir ao arquivo, que instala um servidor da Web e cria uma página da Web simples:
# 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
Por padrão, os proprietários e editores de projetos podem acessar arquivos do Cloud Storage no mesmo projeto, a menos que haja controles de acesso explícitos que impeçam esse acesso.
Se o bucket ou objeto do Cloud Storage for menos seguro que os metadados, haverá risco de escalonamento de privilégios se o script de inicialização for modificado e a VM for reinicializada. Isso ocorre porque, após a reinicialização da VM, o script de inicialização é executado como
LocalSystem
e pode usar as permissões da conta de serviço anexada para acessar outros recursos.No Console do Google Cloud, acesse a página Criar uma instância.
Em Disco de inicialização, selecione Alterar e faça o seguinte:
- Na guia Imagens públicas, escolha um sistema operacional Windows Server.
- Clique em Selecionar.
Na seção Identidade e acesso à API, selecione uma conta de serviço que tenha o papel Leitor de objetos do Storage.
Expanda a seção Opções avançadas e depois faça o seguinte:
- Expanda a seção Gerenciamento.
Na seção Metadados, adicione valores para:
Chave: a chave de metadados. Especifique a chave de metadados
windows-startup-script-url
para que o script seja executado durante cada inicialização após a inicialização inicial.Valor: o valor dos metadados. Defina como o local do Cloud Storage do arquivo de script de inicialização usando um dos seguintes formatos:
- URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
- URI do gcloud storage:
gs://BUCKET/FILE
Substitua:
- BUCKET: o nome do bucket que contém o arquivo de script de inicialização
- FILE: o nome do arquivo de script de inicialização
- URL autenticado:
Para criar a VM, clique em Criar.
No Console do Google Cloud, acesse a página Instâncias de VMs.
Clique no Nome da VM.
Clique em Editar.
Em Metadados, adicione os seguintes valores:
- URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
- URI do gcloud storage:
gs://BUCKET/FILE
- URL autenticado:
- VM_NAME: o nome da VM.
-
CLOUD_STORAGE_URL: os valores de metadados. Defina como
o local do arquivo de script de inicialização usando um dos formatos
a seguir:
-
URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
-
URI do gcloud storage:
gs://BUCKET/FILE
-
URL autenticado:
- VM_NAME: o nome da VM.
-
CLOUD_STORAGE_URL: os valores de metadados. Defina como
o local do arquivo de script de inicialização usando um dos formatos
a seguir:
-
URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
-
URI do gcloud storage:
gs://BUCKET/FILE
-
URL autenticado:
- VM_NAME: o nome da VM.
-
CLOUD_STORAGE_URL: os valores de metadados. Defina como
o local do arquivo de script de inicialização usando um dos formatos
a seguir:
-
URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
-
URI do gcloud storage:
gs://BUCKET/FILE
-
URL autenticado:
- VM_NAME: o nome da VM.
-
CLOUD_STORAGE_URL: os valores de metadados. Defina como
o local do arquivo de script de inicialização usando um dos formatos
a seguir:
-
URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
-
URI do gcloud storage:
gs://BUCKET/FILE
-
URL autenticado:
- VM_NAME: o nome da VM.
-
CLOUD_STORAGE_URL: os valores de metadados. Defina como
o local do arquivo de script de inicialização usando um dos formatos
a seguir:
-
URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
-
URI do gcloud storage:
gs://BUCKET/FILE
-
URL autenticado:
- VM_NAME: o nome da VM.
-
CLOUD_STORAGE_URL: os valores de metadados. Defina como
o local do arquivo de script de inicialização usando um dos formatos
a seguir:
-
URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
-
URI do gcloud storage:
gs://BUCKET/FILE
-
URL autenticado:
PROJECT_ID: o ID do projeto;
ZONE: a zona em que a nova VM será criada.
CLOUD_STORAGE_URL: o valor dos metadados. Defina como o local do Cloud Storage do arquivo de script de inicialização usando um dos seguintes formatos:
- URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
- URI do gcloud storage:
gs://BUCKET/FILE
- URL autenticado:
Receba o valor
tags.fingerprint
da VM usando o métodoinstances.get
.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
Substitua:
PROJECT_ID: o ID do projeto
ZONE: a zona da VM
VM_NAME: a zona da VM
Transmita o script de inicialização usando o valor
fingerprint
com a chave e o valor de metadados do script de inicialização em uma chamada para o métodoinstances.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" } ], ... }
Substitua:
PROJECT_ID: o ID do projeto;
ZONE: a zona da VM.
VM_NAME: a zona da VM.
FINGERPRINT: o valor
tags.fingerprint
recebido usando o métodoinstances.get
.CLOUD_STORAGE_URL: o valor dos metadados. Defina como o local do Cloud Storage do arquivo de script de inicialização usando um dos seguintes formatos:
- URL autenticado:
https://storage.googleapis.com/BUCKET/FILE
- URI do gcloud storage:
gs://BUCKET/FILE
- URL autenticado:
Crie um script de inicialização que consulte o valor de uma chave de metadados. Por exemplo, o script de inicialização do PowerShell (
.ps1
) a seguir consulta o valor da chave de metadadosfoo
.$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
Defina o valor da chave de metadados
foo
ao criar uma VM usando o seguinte comandogcloud compute instances create
. Neste exemplo, o script de inicialização é transmitido para a VM a partir de um arquivo local.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
Substitua:
VM_NAME: o nome da VM
FILE_PATH: o caminho relativo para o arquivo de script de inicialização
Para mais informações sobre como especificar um par de chave-valor de metadados, consulte Definir e remover metadados personalizados.
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização gera o valor
foo
. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.Executando o seguinte comando:
C:\Program Files\Google\Compute Engine\metadata_scripts\run_startup_scripts.cmd
Porta serial 1 no Console do Google Cloud. Para mais informações, consulte Como visualizar a saída da porta serial.
Registro do aplicativo do Visualizador de eventos do Windows.
IAP Desktop em uma estação de trabalho do Windows. Para mais informações, acesse o repositório GoogleCloudPlatform/iap-desktop no GitHub.
Saiba como usar scripts de inicialização em VMs do Linux.
Saiba como adicionar um script de desligamento.
Saiba mais sobre os metadados da VM.
Saiba como executar scripts de inicialização em VMs do Windows e participar de um domínio do Microsoft AD gerenciado.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Chaves de metadados para scripts de inicialização do Windows
Um script de inicialização é transmitido para uma VM a partir de um local especificado por uma chave de metadados. Uma chave de metadados especifica se o script de inicialização está armazenado localmente ou no Cloud Storage ou transmitido diretamente para a VM. A chave de metadados usada também pode depender do tamanho ou do tipo de arquivo do script de inicialização.
A tabela a seguir mostra as chaves de metadados que podem ser usadas para os scripts de inicialização do Windows, além de informações sobre qual chave usar com base no local de armazenamento, no tamanho e no tipo de arquivo do script de inicialização.
Chave de metadados Use para sysprep-specialize-script-ps1
Transmitir um script não assinado do PowerShell armazenado localmente ou adicionado diretamente de até 256 KB sysprep-specialize-script-cmd
Transmitir um script de shell de comando armazenado localmente ou adicionado diretamente de até 256 KB sysprep-specialize-script-bat
Transmitir um script de arquivo em lote armazenado localmente ou adicionado diretamente de 256 KB sysprep-specialize-script-url
Transmitir um arquivo em lote, um shell de comando, um script do PowerShell assinado/não assinado ou um arquivo executável armazenado no Cloud Storage e com mais de 256 KB windows-startup-script-ps1
Transmitir um script não assinado do PowerShell armazenado localmente ou adicionado diretamente de até 256 KB windows-startup-script-cmd
Transmitir um script de shell de comando armazenado localmente ou adicionado diretamente de até 256 KB windows-startup-script-bat
Transmitir um script de arquivo em lote armazenado localmente ou adicionado diretamente de 256 KB windows-startup-script-url
Transmitir um arquivo em lote, um shell de comando, um script do PowerShell assinado/não assinado ou um arquivo executável armazenado no Cloud Storage e com mais de 256 KB Para mais informações sobre a ordem de execução dos vários tipos de scripts de inicialização, consulte o repositório GoogleCloudPlatform/compute-image-windows no GitHub.
Ordem de execução de scripts de inicialização do Windows
É possível usar vários scripts de inicialização. Scripts de inicialização armazenados localmente ou adicionados diretamente são executados antes de scripts de inicialização armazenados no Cloud Storage. O tipo de arquivo que contém o script também afeta a ordem de execução. A tabela a seguir mostra, com base na chave de metadados, a ordem de execução dos scripts de inicialização do Windows.
Chave de metadados Ordem de execução sysprep-specialize-script-ps1
Primeiro durante a primeira inicialização sysprep-specialize-script-cmd
Segundo durante a primeira inicialização sysprep-specialize-script-bat
Terceiro durante a inicialização inicial sysprep-specialize-script-url
Quarto durante a inicialização inicial windows-startup-script-ps1
Primeiro durante cada inicialização após a inicialização inicial windows-startup-script-cmd
Segundo durante cada inicialização após a inicialização inicial windows-startup-script-bat
Terceiro durante cada inicialização após a inicialização inicial windows-startup-script-url
Quarto durante cada inicialização após a inicialização inicial Como transmitir um script de inicialização do Windows diretamente
Transmita o conteúdo de um arquivo em lote, um shell de comando ou um script de inicialização do PowerShell não assinado diretamente para uma VM do Windows Server. Os procedimentos a seguir mostram como transmitir um script do PowerShell não assinado.
Console
Como transmitir um script de inicialização do Windows diretamente para uma nova VM
Como transmitir um script de inicialização do Windows diretamente para uma VM atual
Como verificar o script de inicialização
Depois que a VM for iniciada, visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (Bash)
Como transmitir um script de inicialização do Windows diretamente para uma nova VM
Transmita o conteúdo de um script de inicialização diretamente para uma VM do Windows Server ao criá-la usando o seguinte 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'
Substitua VM_NAME pelo nome da VM.
Como transmitir um script de inicialização do Windows diretamente para uma VM atualAdicione o script de inicialização diretamente a uma VM atual usando o seguinte 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'
Substitua VM_NAME pelo nome da VM.
Como verificar o script de inicializaçãoDepois que a VM for iniciada, visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (Prompt de comando)
Como transmitir um script de inicialização do Windows diretamente para uma nova VM
Transmita o conteúdo de um script de inicialização diretamente para uma VM do Windows Server ao criá-la usando o seguinte 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'
Substitua VM_NAME pelo nome da VM.
Como transmitir um script de inicialização do Windows diretamente para uma VM atualAdicione o script de inicialização diretamente a uma VM atual usando o seguinte 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'
Substitua VM_NAME pelo nome da VM.
Como verificar o script de inicializaçãoDepois que a VM for iniciada, visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (PowerShell)
Como transmitir um script de inicialização do Windows diretamente para uma nova VM
Transmita o conteúdo de um script de inicialização diretamente para uma VM do Windows Server ao criá-la usando o seguinte 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'
Substitua VM_NAME pelo nome da VM.
Como transmitir um script de inicialização do Windows diretamente para uma VM atualAdicione o script de inicialização diretamente a uma VM atual usando o seguinte 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'
Substitua VM_NAME pelo nome da VM.
Como verificar o script de inicializaçãoDepois que a VM for iniciada, visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
REST
Como transmitir um script de inicialização do Windows diretamente para uma nova VM
Transmita o conteúdo de um script de inicialização diretamente para uma VM do Windows Server ao criá-la usando o seguinte método
instances.insert
.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" } ] }, ... }
Substitua:
Como transmitir um script de inicialização do Windows diretamente para uma VM atual
Como verificar o script de inicialização
Depois que a VM for iniciada, visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
Como transmitir um script de inicialização do Windows de um arquivo local
É possível armazenar um script de inicialização em um arquivo de lote local, um script de shell de comando ou um script do PowerShell não assinado na estação de trabalho e transmitir o arquivo local como metadados para uma VM ao criá-la. Não é possível usar arquivos armazenados em VMs como scripts de inicialização.
Antes de transmitir um script de inicialização do Windows de um arquivo local para uma VM, faça o seguinte:
gcloud (Bash)
Como transmitir um script de inicialização do Windows de um arquivo local para uma nova VM
Crie uma VM e transmita o conteúdo de um arquivo local a ser usado como o script de inicialização utilizando o comando
gcloud compute instances create
com a sinalização--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
Substitua:
Transmita um script de inicialização para uma VM atual a partir de um arquivo local usando o seguinte comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Substitua:
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (Prompt de comando)
Como transmitir um script de inicialização do Windows de um arquivo local para uma nova VM
Crie uma VM e transmita o conteúdo de um arquivo local a ser usado como o script de inicialização utilizando o comando
gcloud compute instances create
com a sinalização--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
Substitua:
Transmita um script de inicialização para uma VM atual a partir de um arquivo local usando o seguinte comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ^ --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Substitua:
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (PowerShell)
Como transmitir um script de inicialização do Windows de um arquivo local para uma nova VM
Crie uma VM e transmita o conteúdo de um arquivo local a ser usado como o script de inicialização utilizando o comando
gcloud compute instances create
com a sinalização--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
Substitua:
Transmita um script de inicialização para uma VM atual a partir de um arquivo local usando o seguinte comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ` --metadata-from-file=windows-startup-script-ps1=FILE_PATH
Substitua:
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
Como transmitir um script de inicialização do Windows do Cloud Storage
É possível armazenar um script de inicialização em um arquivo de lote local, um script de shell de comando ou um script do PowerShell não assinado no Cloud Storage e transmiti-lo a uma VM ao criá-la. Depois de adicionar um script de inicialização ao Cloud Storage, você tem um URL que pode ser utilizado para fazer referência ao script de inicialização ao criar uma VM.
Antes de adicionar um script de inicialização a partir de um bucket do Cloud Storage, faça o seguinte:
Implicações de segurança
Console
Como transmitir um script de inicialização armazenado no Cloud Storage para uma nova VM
Como transmitir um script de inicialização armazenado no Cloud Storage para uma VM atual
Como verificar o script de inicialização
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (Bash)
Como transmitir um script de inicialização armazenado no Cloud Storage para uma nova VM
Transmita um script de inicialização armazenado no Cloud Storage para uma VM do Windows Server usando o comando
gcloud compute instances create
a seguir. Para o valor da sinalização--scopes
, usestorage-ro
para que a VM possa acessar o 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
Substitua:
Transmita um script de inicialização armazenado no Cloud Storage para uma VM atual usando o seguinte comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME \ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Substitua:
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (Prompt de comando)
Como transmitir um script de inicialização armazenado no Cloud Storage para uma nova VM
Transmita um script de inicialização armazenado no Cloud Storage para uma VM do Windows Server usando o comando
gcloud compute instances create
a seguir. Para o valor da sinalização--scopes
, usestorage-ro
para que a VM possa acessar o 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
Substitua:
Transmita um script de inicialização armazenado no Cloud Storage para uma VM atual usando o seguinte comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ^ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Substitua:
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
gcloud (PowerShell)
Como transmitir um script de inicialização armazenado no Cloud Storage para uma nova VM
Transmita um script de inicialização armazenado no Cloud Storage para uma VM do Windows Server usando o comando
gcloud compute instances create
a seguir. Para o valor da sinalização--scopes
, usestorage-ro
para que a VM possa acessar o 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
Substitua:
Transmita um script de inicialização armazenado no Cloud Storage para uma VM atual usando o seguinte comando
gcloud compute instances add-metadata
:gcloud compute instances add-metadata VM_NAME ` --metadata=windows-startup-script-url=CLOUD_STORAGE_URL
Substitua:
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
REST
Como transmitir um script de inicialização armazenado no Cloud Storage para uma nova VM
Transmita um script de inicialização armazenado no Cloud Storage para uma VM do Windows Server usando o método
instances.insert
a seguir. No camposcopes
, adicionehttps://www.googleapis.com/auth/devstorage.read_only
para que a VM possa acessar o 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" }, ... ] }, ... }
Substitua:
Como transmitir um script de inicialização armazenado no Cloud Storage para uma VM atual
Como verificar o script de inicialização
Visualize o IP externo em um navegador da Web para verificar se o script de inicialização criou o site. Talvez seja necessário aguardar cerca de 10 minutos para que o script de inicialização de amostra seja concluído.
Como acessar metadados de um script de inicialização do Windows
Em um script de inicialização, é possível acessar valores de metadados. Por exemplo, é possível usar o mesmo script para várias VMs e parametrizar cada script individualmente transmitindo valores de metadados diferentes para cada VM.
Para acessar um valor de metadados personalizado em um script de inicialização, faça o seguinte:
Como executar um script de inicialização do Windows novamente
Execute novamente um script de inicialização em uma VM do Windows fazendo o seguinte:
Como visualizar a saída de um script de inicialização do Windows
Visualize a saída de um script de inicialização do Windows Server usando qualquer um dos seguintes itens e verificando eventos
GCEMetadataScripts
:A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-