Skrip startup adalah file yang menjalankan tugas selama proses startup
instance virtual machine (VM). Skrip startup dapat berlaku untuk semua VM dalam sebuah project atau berlaku untuk satu VM. Skrip startup yang ditentukan oleh metadata level VM akan menggantikan skrip startup yang ditentukan oleh metadata level project, dan skrip startup hanya dijalankan saat jaringan tersedia. Dokumen ini menjelaskan cara menggunakan skrip
startup di instance VM Windows Server. Untuk mengetahui informasi tentang cara menambahkan
skrip startup level project, lihat gcloud compute project-info add-metadata.
Skrip startup Windows harus berupa skrip Command shell (.cmd), PowerShell (.ps1), atau
file batch (.bat), dan harus memiliki ekstensi file yang sesuai.
Jika Anda menentukan skrip startup menggunakan salah satu prosedur dalam dokumen ini, Compute Engine akan melakukan hal berikut:
- Menyalin skrip startup ke VM 
- Penjadwal Tugas menjalankan skrip startup sebagai akun - LocalSystemsaat VM melakukan booting
Untuk mengetahui informasi tentang berbagai tugas terkait skrip startup dan kapan harus melakukan setiap tugas, lihat dokumen ringkasan skrip startup.
Prasyarat
Untuk menjalankan skrip yang disimpan dalam metadata pada instance VM, lingkungan tamu harus diinstal dan berjalan.
- Lingkungan tamu mencakup agen tamu (misalnya, google-guest-agent di Linux) yang membaca konten atau URL skrip dari metadata instance dan memulai eksekusi.
- Semua image Compute Engine publik dilengkapi dengan lingkungan tamu yang telah diinstal sebelumnya.
- Jika membuat image kustom, Anda harus menginstal Lingkungan Tamu Google secara manual untuk memastikan skrip dari metadata dan fitur Google Cloud lainnya berfungsi dengan baik.
Sebelum memulai
- Baca ringkasan skrip startup.
- Baca tentang dasar-dasar metadata VM.
- 
  
  Siapkan autentikasi, jika Anda belum melakukannya.
  Autentikasi memverifikasi identitas Anda untuk mengakses layanan dan API Google Cloud . Untuk menjalankan
  kode atau contoh dari lingkungan pengembangan lokal, Anda dapat melakukan autentikasi ke
  Compute Engine dengan memilih salah satu opsi berikut:
  
   
   
     
   
  
   
   
     
   
  
   
   
     
   
  
 
 
 
  
    
      Select the tab for how you plan to use the samples on this page: ConsoleWhen you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication. gcloud- 
 
 
  
  
   
   
  
   
   
  
   
   
     
   
  
  
   
   
  
   
   
  
   
   
  
 
 
   
   
      Instal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut: gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu. 
- Set a default region and zone.
 RESTUntuk memakai contoh REST API di halaman ini dalam lingkungan pengembangan lokal, gunakan kredensial yang Anda berikan ke gcloud CLI. Instal Google Cloud CLI. Setelah penginstalan, lakukan inisialisasi Google Cloud CLI dengan menjalankan perintah berikut: gcloud initJika Anda menggunakan penyedia identitas (IdP) eksternal, Anda harus login ke gcloud CLI dengan identitas gabungan Anda terlebih dahulu. Untuk mengetahui informasi selengkapnya, lihat Melakukan autentikasi untuk menggunakan REST dalam dokumentasi autentikasi Google Cloud . Kunci metadata untuk skrip startup WindowsSkrip startup diteruskan ke VM dari lokasi yang ditentukan oleh kunci metadata. Kunci metadata menentukan apakah skrip startup disimpan secara lokal, disimpan di Cloud Storage, atau diteruskan langsung ke VM. Kunci metadata yang Anda gunakan mungkin juga bergantung pada ukuran atau jenis file skrip startup. Tabel berikut menampilkan kunci metadata yang dapat Anda gunakan untuk skrip startup Windows, dan memberikan informasi tentang kunci yang akan digunakan berdasarkan lokasi penyimpanan, ukuran, dan jenis file skrip startup. Kunci metadata Gunakan untuk sysprep-specialize-script-ps1Meneruskan skrip PowerShell yang tidak ditandatangani, yang disimpan secara lokal atau ditambahkan secara langsung dan berukuran hingga 256 KB sysprep-specialize-script-cmdMeneruskan skrip shell perintah yang disimpan secara lokal atau ditambahkan secara langsung dan berukuran hingga 256 KB sysprep-specialize-script-batMeneruskan skrip file batch yang disimpan secara lokal atau ditambahkan langsung dan berukuran hingga 256 KB sysprep-specialize-script-urlMeneruskan file batch, Command shell, skrip PowerShell yang ditandatangani/tidak ditandatangani, atau file yang dapat dieksekusi yang disimpan di Cloud Storage dan berukuran lebih dari 256 KB windows-startup-script-ps1Meneruskan skrip PowerShell yang tidak ditandatangani, yang disimpan secara lokal atau ditambahkan secara langsung dan berukuran hingga 256 KB windows-startup-script-cmdMeneruskan skrip shell perintah yang disimpan secara lokal atau ditambahkan secara langsung dan berukuran hingga 256 KB windows-startup-script-batMeneruskan skrip file batch yang disimpan secara lokal atau ditambahkan langsung, dan berukuran hingga 256 KB windows-startup-script-urlMeneruskan file batch, Command shell, skrip PowerShell yang ditandatangani/tidak ditandatangani, atau file yang dapat dieksekusi yang disimpan di Cloud Storage dan berukuran lebih dari 256 KB Untuk mengetahui informasi selengkapnya tentang urutan eksekusi berbagai jenis skrip startup, lihat repositori GoogleCloudPlatform/compute-image-windows di GitHub. Urutan eksekusi skrip startup WindowsAnda dapat menggunakan beberapa skrip startup. Skrip startup yang disimpan secara lokal atau ditambahkan langsung, dijalankan sebelum skrip startup yang disimpan di Cloud Storage. Jenis file yang berisi skrip juga memengaruhi urutan eksekusi. Tabel berikut menunjukkan urutan eksekusi skrip startup Windows berdasarkan kunci metadata. Kunci metadata Urutan eksekusi sysprep-specialize-script-ps1Pertama selama booting awal sysprep-specialize-script-cmdKedua selama booting awal sysprep-specialize-script-batKetiga selama booting awal sysprep-specialize-script-urlKeempat selama booting awal windows-startup-script-ps1Pertama dalam setiap booting setelah booting awal windows-startup-script-cmdKedua dalam setiap booting setelah booting awal windows-startup-script-batKetiga dalam setiap booting setelah booting awal windows-startup-script-urlKeempat selama setiap booting setelah booting awal Meneruskan skrip startup Windows secara langsungTeruskan konten file batch, Command shell, atau skrip startup PowerShell yang tidak ditandatangani langsung ke VM Windows Server. Prosedur berikut menunjukkan cara meneruskan skrip PowerShell yang tidak bertanda tangan. KonsolMeneruskan skrip startup Windows langsung ke VM baru - Di konsol Google Cloud , buka halaman Create an instance. 
- Untuk Boot disk, pilih Change, dan lakukan langkah berikut: - Pada tab Public images, pilih sistem operasi Windows Server.
- Klik Select.
 
- Luaskan bagian Opsi lanjutan, dan lakukan hal berikut: - Luaskan bagian Pengelolaan.
- Di bagian Metadata, klik Tambahkan item untuk menyetel Kunci dan Nilai: - Kunci: ditetapkan ke - windows-startup-script-ps1.- Skrip startup yang diteruskan ke VM menggunakan kunci metadata yang diawali dengan - windows-startup-scriptberjalan pada setiap proses booting setelah proses booting awal VM.
- Nilai: tambahkan skrip berikut: - # 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
 
 
- Klik Buat. 
 Meneruskan skrip startup Windows langsung ke VM yang ada - Di konsol Google Cloud , buka halaman VM instances. 
- Klik Nama VM. 
- Klik Edit. 
- Di bagian Metadata, tentukan nilai berikut: - key:- windows-startup-script-ps1
- value: konten skrip startup
 
 Memverifikasi skrip startup Setelah VM dimulai, lihat IP eksternal di browser web untuk memastikan bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit hingga contoh skrip startup selesai. gcloud (Bash)Meneruskan skrip startup Windows langsung ke VM baru Teruskan konten skrip startup langsung ke VM Windows Server saat Anda membuatnya dengan menggunakan perintah gcloud compute instances createberikut: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' Ganti VM_NAME dengan nama VM. Meneruskan skrip startup Windows langsung ke VM yang adaTambahkan skrip startup langsung ke VM yang ada dengan menggunakan perintah gcloud compute instances add-metadataberikut: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' Ganti VM_NAME dengan nama VM. Memverifikasi skrip startupSetelah VM dimulai, lihat IP eksternal di browser web untuk memastikan bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit hingga contoh skrip startup selesai. gcloud (Command Prompt)Meneruskan skrip startup Windows langsung ke VM baru Teruskan konten skrip startup langsung ke VM Windows Server saat Anda membuatnya dengan menggunakan perintah gcloud compute instances createberikut: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' Ganti VM_NAME dengan nama VM. Meneruskan skrip startup Windows langsung ke VM yang adaTambahkan skrip startup langsung ke VM yang ada dengan menggunakan perintah gcloud compute instances add-metadataberikut: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' Ganti VM_NAME dengan nama VM. Memverifikasi skrip startupSetelah VM dimulai, lihat IP eksternal di browser web untuk memastikan bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit hingga contoh skrip startup selesai. gcloud (PowerShell)Meneruskan skrip startup Windows langsung ke VM baru Teruskan konten skrip startup langsung ke VM Windows Server saat Anda membuatnya dengan menggunakan perintah gcloud compute instances createberikut: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' Ganti VM_NAME dengan nama VM. Meneruskan skrip startup Windows langsung ke VM yang adaTambahkan skrip startup langsung ke VM yang ada dengan menggunakan perintah gcloud compute instances add-metadataberikut: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' Ganti VM_NAME dengan nama VM. Memverifikasi skrip startupSetelah VM dimulai, lihat IP eksternal di browser web untuk memastikan bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit hingga contoh skrip startup selesai. RESTMeneruskan skrip startup Windows langsung ke VM baru Teruskan konten skrip startup langsung ke VM Windows Server saat Anda membuatnya menggunakan metode instances.insertberikut.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" } ] }, ... }Ganti kode berikut: - PROJECT_ID: project ID. 
- ZONE: zona tempat VM dibuat. 
 Meneruskan skrip startup Windows langsung ke VM yang ada - Dapatkan nilai - metadata.fingerprintVM menggunakan metode- instances.get:- GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME - Ganti kode berikut: - PROJECT_ID: ID project tempat VM berada. 
- ZONE: zona VM. 
- VM_NAME: nama VM. 
 
- Teruskan skrip startup menggunakan nilai - fingerprint, bersama dengan kunci dan nilai metadata untuk skrip startup, dalam panggilan ke metode- instances.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" } ], ... }- Ganti kode berikut: - PROJECT_ID: ID project tempat VM berada. 
- ZONE: zona VM. 
- VM_NAME: nama VM. 
- FINGERPRINT: nilai - metadata.fingerprintyang diperoleh menggunakan metode- instances.get.
 
 Memverifikasi skrip startup Setelah VM dimulai, lihat IP eksternal di browser web untuk memastikan bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit hingga contoh skrip startup selesai. Meneruskan skrip startup Windows dari file lokalAnda dapat menyimpan skrip startup dalam file batch lokal, skrip Command shell, atau skrip PowerShell yang tidak ditandatangani di workstation dan meneruskan file lokal sebagai metadata ke VM saat Anda membuatnya. Anda tidak dapat menggunakan file yang disimpan di VM sebagai skrip startup. Sebelum meneruskan skrip startup Windows dari file lokal ke VM, lakukan hal berikut: - Buat file lokal ( - .ps1) untuk menyimpan skrip startup.
- Perhatikan jalur relatif dari gcloud CLI ke skrip startup. 
- Tambahkan skrip startup berikut ke 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
 gcloud (Bash)Meneruskan skrip startup Windows dari file lokal ke VM baru Buat VM dan teruskan konten file lokal untuk digunakan sebagai skrip startup dengan menggunakan perintah gcloud compute instances createdengan tanda--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 Ganti kode berikut: - VM_NAME: nama VM
- FILE_PATH: jalur relatif ke file skrip startup
 Teruskan skrip startup ke VM yang ada dari file lokal dengan menggunakan perintah gcloud compute instances add-metadataberikut:gcloud compute instances add-metadata VM_NAME \ --metadata-from-file=windows-startup-script-ps1=FILE_PATH Ganti kode berikut: - VM_NAME: nama VM
- FILE_PATH: jalur relatif ke file skrip startup
 Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. gcloud (Command Prompt)Meneruskan skrip startup Windows dari file lokal ke VM baru Buat VM dan teruskan konten file lokal untuk digunakan sebagai skrip startup dengan menggunakan perintah gcloud compute instances createdengan tanda--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 Ganti kode berikut: - VM_NAME: nama VM
- FILE_PATH: jalur relatif ke file skrip startup
 Teruskan skrip startup ke VM yang ada dari file lokal dengan menggunakan perintah gcloud compute instances add-metadataberikut:gcloud compute instances add-metadata VM_NAME ^ --metadata-from-file=windows-startup-script-ps1=FILE_PATH Ganti kode berikut: - VM_NAME: nama VM
- FILE_PATH: jalur relatif ke file skrip startup
 Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. gcloud (PowerShell)Meneruskan skrip startup Windows dari file lokal ke VM baru Buat VM dan teruskan konten file lokal untuk digunakan sebagai skrip startup dengan menggunakan perintah gcloud compute instances createdengan tanda--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 Ganti kode berikut: - VM_NAME: nama VM
- FILE_PATH: jalur relatif ke file skrip startup
 Teruskan skrip startup ke VM yang ada dari file lokal dengan menggunakan perintah gcloud compute instances add-metadataberikut:gcloud compute instances add-metadata VM_NAME ` --metadata-from-file=windows-startup-script-ps1=FILE_PATH Ganti kode berikut: - VM_NAME: nama VM
- FILE_PATH: jalur relatif ke file skrip startup
 Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. Meneruskan skrip startup Windows dari Cloud StorageAnda dapat menyimpan skrip startup sebagai file batch, skrip Command shell, skrip PowerShell yang ditandatangani/tidak ditandatangani, atau yang dapat dieksekusi di Cloud Storage dan meneruskannya ke VM saat membuatnya. Setelah menambahkan skrip startup ke Cloud Storage, Anda memiliki URL yang dapat digunakan untuk mereferensikan skrip startup saat Anda membuat VM. Sebelum menambahkan skrip startup dari bucket Cloud Storage, lakukan langkah berikut: - Buat file untuk menyimpan skrip startup. Contoh ini menggunakan file PowerShell ( - .ps1).
- Tambahkan skrip PowerShell berikut ke file, yang menginstal server web dan membuat halaman web sederhana: - # 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
 Implikasi keamanan- Secara default, pemilik project dan editor project dapat mengakses file Cloud Storage dalam project yang sama, kecuali ada kontrol akses eksplisit yang melarangnya. 
- Jika bucket atau objek Cloud Storage kurang aman dibandingkan metadata, ada risiko eskalasi akses jika skrip startup diubah dan VM di-reboot. Hal ini karena setelah VM dimulai ulang, skrip startup akan berjalan sebagai - LocalSystem, lalu dapat menggunakan izin akun layanan yang terpasang untuk mengakses resource lainnya.
 KonsolMeneruskan skrip startup yang disimpan di Cloud Storage ke VM baru - Di konsol Google Cloud , buka halaman Create an instance. 
- Untuk Boot disk, pilih Change, dan lakukan langkah berikut: - Pada tab Public images, pilih sistem operasi Windows Server.
- Klik Select.
 
- Di bagian Identitas dan Akses API, pilih akun layanan yang memiliki peran Storage Object Viewer. 
- Luaskan bagian Opsi lanjutan, lalu lakukan hal berikut: - Luaskan bagian Pengelolaan.
- Di bagian Metadata, tambahkan nilai untuk hal berikut: - Kunci: kunci metadata. Tentukan kunci metadata - windows-startup-script-urlagar skrip berjalan selama setiap proses booting setelah booting awal.
- Nilai: nilai metadata. Tetapkan ke lokasi Cloud Storage dari file skrip startup menggunakan salah satu format berikut: - URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage: gs://BUCKET/FILE
 - Ganti kode berikut: - BUCKET: nama bucket yang berisi file skrip startup
- FILE: nama file skrip startup
 
- URL yang Diautentikasi: 
 
 
- Untuk membuat VM, klik Buat. 
 Meneruskan skrip startup yang disimpan di Cloud Storage ke VM yang ada - Di konsol Google Cloud , buka halaman VM instances. 
- Klik Nama VM. 
- Klik Edit. 
- Di bagian Metadata, tambahkan nilai berikut: - URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage: gs://BUCKET/FILE
 
- URL yang Diautentikasi: 
 Memverifikasi skrip startup Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. gcloud (Bash)Meneruskan skrip startup yang disimpan di Cloud Storage ke VM baru Teruskan skrip startup yang disimpan di Cloud Storage ke VM Windows Server menggunakan perintah gcloud compute instances createberikut. Untuk nilai flag--scopes, gunakanstorage-roagar VM dapat mengakses 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 Ganti kode berikut: - VM_NAME: nama VM.
- 
    CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke
lokasi file skrip startup menggunakan salah satu
format berikut:
    - 
        URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- 
        URI gcloud storage: gs://BUCKET/FILE
 
- 
        URL yang Diautentikasi: 
 Teruskan skrip startup yang disimpan di Cloud Storage ke VM yang ada dengan menggunakan perintah gcloud compute instances add-metadataberikut:gcloud compute instances add-metadata VM_NAME \ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL Ganti kode berikut: - VM_NAME: nama VM.
- 
    CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke
lokasi file skrip startup menggunakan salah satu
format berikut:
    - 
        URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- 
        URI gcloud storage: gs://BUCKET/FILE
 
- 
        URL yang Diautentikasi: 
 Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. gcloud (Command Prompt)Meneruskan skrip startup yang disimpan di Cloud Storage ke VM baru Teruskan skrip startup yang disimpan di Cloud Storage ke VM Windows Server menggunakan perintah gcloud compute instances createberikut. Untuk nilai flag--scopes, gunakanstorage-roagar VM dapat mengakses 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 Ganti kode berikut: - VM_NAME: nama VM.
- 
    CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke
lokasi file skrip startup menggunakan salah satu
format berikut:
    - 
        URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- 
        URI gcloud storage: gs://BUCKET/FILE
 
- 
        URL yang Diautentikasi: 
 Teruskan skrip startup yang disimpan di Cloud Storage ke VM yang ada dengan menggunakan perintah gcloud compute instances add-metadataberikut:gcloud compute instances add-metadata VM_NAME ^ --metadata=windows-startup-script-url=CLOUD_STORAGE_URL Ganti kode berikut: - VM_NAME: nama VM.
- 
    CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke
lokasi file skrip startup menggunakan salah satu
format berikut:
    - 
        URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- 
        URI gcloud storage: gs://BUCKET/FILE
 
- 
        URL yang Diautentikasi: 
 Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. gcloud (PowerShell)Meneruskan skrip startup yang disimpan di Cloud Storage ke VM baru Teruskan skrip startup yang disimpan di Cloud Storage ke VM Windows Server menggunakan perintah gcloud compute instances createberikut. Untuk nilai flag--scopes, gunakanstorage-roagar VM dapat mengakses 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 Ganti kode berikut: - VM_NAME: nama VM.
- 
    CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke
lokasi file skrip startup menggunakan salah satu
format berikut:
    - 
        URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- 
        URI gcloud storage: gs://BUCKET/FILE
 
- 
        URL yang Diautentikasi: 
 Teruskan skrip startup yang disimpan di Cloud Storage ke VM yang ada dengan menggunakan perintah gcloud compute instances add-metadataberikut:gcloud compute instances add-metadata VM_NAME ` --metadata=windows-startup-script-url=CLOUD_STORAGE_URL Ganti kode berikut: - VM_NAME: nama VM.
- 
    CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke
lokasi file skrip startup menggunakan salah satu
format berikut:
    - 
        URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- 
        URI gcloud storage: gs://BUCKET/FILE
 
- 
        URL yang Diautentikasi: 
 Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. RESTMeneruskan skrip startup yang disimpan di Cloud Storage ke VM baru Teruskan skrip startup yang disimpan di Cloud Storage ke VM Windows Server menggunakan metode instances.insertberikut. Di kolomscopes, tambahkanhttps://www.googleapis.com/auth/devstorage.read_onlyagar VM dapat mengakses 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" }, ... ] }, ... }Ganti kode berikut: - PROJECT_ID: project ID. 
- ZONE: zona tempat VM dibuat. 
- CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke lokasi Cloud Storage dari file skrip startup menggunakan salah satu format berikut: - URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage: gs://BUCKET/FILE
 
- URL yang Diautentikasi: 
 Meneruskan skrip startup yang disimpan di Cloud Storage ke VM yang ada - Dapatkan nilai - metadata.fingerprintVM menggunakan metode- instances.get:- GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME - Ganti kode berikut: - PROJECT_ID: ID project tempat VM berada. 
- ZONE: zona VM. 
- VM_NAME: nama VM 
 
- Teruskan skrip startup menggunakan nilai - fingerprint, bersama dengan kunci dan nilai metadata untuk skrip startup, dalam panggilan ke metode- instances.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" } ], ... }- Ganti kode berikut: - PROJECT_ID: ID project tempat VM berada. 
- ZONE: zona VM. 
- VM_NAME: nama VM. 
- FINGERPRINT: nilai - metadata.fingerprintyang diperoleh menggunakan metode- instances.get.
- CLOUD_STORAGE_URL: nilai metadata. Tetapkan ke lokasi Cloud Storage dari file skrip startup menggunakan salah satu format berikut: - URL yang Diautentikasi: https://storage.googleapis.com/BUCKET/FILE
- URI gcloud storage: gs://BUCKET/FILE
 
- URL yang Diautentikasi: 
 
 Memverifikasi skrip startup Lihat IP eksternal di browser web untuk memverifikasi bahwa situs dibuat oleh skrip startup. Anda mungkin harus menunggu sekitar 10 menit sampai contoh skrip startup selesai. Mengakses metadata dari skrip startup WindowsDalam skrip startup, Anda dapat mengakses nilai metadata. Misalnya, Anda dapat menggunakan skrip yang sama untuk beberapa VM, dan membuat parameter setiap skrip satu per satu dengan meneruskan nilai metadata yang berbeda ke setiap VM. Untuk mengakses nilai metadata kustom dari skrip startup, lakukan hal berikut: - Buat skrip startup yang meng-kueri nilai kunci metadata. Misalnya, skrip startup PowerShell ( - .ps1) berikut meng-kueri nilai kunci metadata- foo.- $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
- Tetapkan nilai kunci metadata - foosaat membuat VM menggunakan perintah- gcloud compute instances createberikut. Untuk contoh ini, skrip startup diteruskan ke VM dari file lokal.- 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 - Ganti kode berikut: - VM_NAME: nama VM 
- FILE_PATH: jalur relatif ke file skrip startup 
 - Untuk mengetahui informasi selengkapnya tentang cara menentukan key-value pair metadata, lihat Menetapkan dan menghapus metadata kustom. 
- Lihat IP eksternal di browser web untuk memverifikasi bahwa skrip startup menghasilkan nilai - foo. Anda mungkin harus menunggu sekitar 10 menit hingga contoh skrip startup selesai.
 Menjalankan kembali skrip startup WindowsJalankan kembali skrip startup di VM Windows dengan melakukan hal berikut: 
- Dengan menjalankan perintah berikut: - C:\Program Files\Google\Compute Engine\metadata_scripts\run_startup_scripts.cmd 
 Melihat output dari skrip startup WindowsLihat output dari skrip startup Windows Server menggunakan salah satu dari pilihan berikut dan memeriksa peristiwa GCEMetadataScripts:- Port serial 1 di konsol Google Cloud . Untuk mengetahui informasi selengkapnya, lihat Melihat output port serial. 
- Log Aplikasi Penampil Acara Windows. 
- Desktop IAP dari workstation Windows. Untuk mengetahui informasi selengkapnya, lihat repositori GoogleCloudPlatform/iap-desktop di GitHub. 
 Langkah berikutnya- Pelajari cara menggunakan skrip startup di VM Linux. 
- Pelajari cara menambahkan skrip shutdown . 
- Pelajari Metadata VM lebih lanjut. 
- Pelajari cara menjalankan skrip startup di VM Windows dan bergabung ke domain Microsoft AD Terkelola. 
 Kecuali dinyatakan lain, konten di halaman ini dilisensikan berdasarkan Lisensi Creative Commons Attribution 4.0, sedangkan contoh kode dilisensikan berdasarkan Lisensi Apache 2.0. Untuk mengetahui informasi selengkapnya, lihat Kebijakan Situs Google Developers. Java adalah merek dagang terdaftar dari Oracle dan/atau afiliasinya. Terakhir diperbarui pada 2025-10-19 UTC. -