Ekstensi dan fitur komputer virtual untuk Windows

Ekstensi komputer virtual (VM) Azure merupakan aplikasi kecil yang menyediakan konfigurasi pasca-penyebaran dan tugas otomatisasi di Azure VM. Misalnya, jika komputer virtual memerlukan penginstalan perangkat lunak, perlindungan antivirus, atau kemampuan untuk menjalankan skrip di dalam VM, Anda dapat menggunakan ekstensi VM.

Anda dapat menjalankan ekstensi Azure VM dengan menggunakan templat Azure CLI, PowerShell, Azure Resource Manager (ARM), dan portal Azure. Anda dapat menggabungkan ekstensi dengan penyebaran Mesin Virtual baru atau menjalankannya pada sistem yang ada.

Artikel ini menyediakan gambaran umum ekstensi Azure VM, termasuk prasyarat dan panduan tentang cara mendeteksi, mengelola, dan menghapus ekstensi. Artikel ini memberikan informasi umum karena banyak ekstensi Mesin Virtual tersedia. Setiap ekstensi memiliki konfigurasi yang berpotensi unik dan dokumentasinya sendiri.

Menggunakan kasus dan sampel

Setiap ekstensi Mesin Virtual Azure memiliki kasus penggunaan tertentu. Berikut adalah beberapa contoh:

  • Terapkan konfigurasi status yang diinginkan PowerShell (DSC) ke mesin virtual dengan menggunakan ekstensi DSC untuk Windows.

  • Konfigurasikan pemantauan VM dengan menggunakan agen Azure Monitor dan wawasan VM.

  • Mengonfigurasi Azure VM dengan menggunakan Chef.

  • Konfigurasikan pemantauan infrastruktur Azure Anda dengan ekstensi Datadog.

Selain ekstensi khusus proses, Ekstensi Skrip Kustom tersedia untuk komputer virtual Windows dan Linux. Ekstensi Skrip Kustom untuk Windows memungkinkan skrip PowerShell berjalan pada VM. Skrip kustom berguna untuk merancang penyebaran Azure yang memerlukan konfigurasi di luar apa yang dapat disediakan oleh alat Azure asli.

Prasyarat

Tinjau prasyarat berikut untuk bekerja dengan ekstensi Azure VM.

Agen mesin virtual Azure

Untuk menangani ekstensi pada VM, Anda memerlukan Azure Virtual Machine Agent untuk Windows terinstal. Agen ini juga disebut sebagai Agen Azure VM atau Agen Tamu Windows. Saat Anda bersiap untuk menginstal ekstensi, perlu diingat bahwa beberapa ekstensi memiliki prasyarat individual, seperti akses ke sumber daya atau dependensi.

Agen mesin virtual Azure mengelola interaksi antara mesin virtual Azure dan pengontrol fabric Azure. Agen bertanggung jawab atas banyak aspek fungsional penyebaran dan pengelolaan mesin virtual Azure, termasuk menjalankan ekstensi mesin virtual.

Agen mesin virtual Azure sudah dipasang sebelumnya pada gambar Azure Marketplace. Agen juga dapat diinstal secara manual pada sistem operasi yang didukung.

Agen berjalan di beberapa sistem operasi. Tetapi, kerangka kerja ekstensi memiliki batas untuk sistem operasi yang digunakan ekstensi. Beberapa ekstensi tidak didukung di semua sistem operasi dan mungkin memancarkan kode kesalahan 51 ("OS yang tidak didukung"). Periksa dokumentasi ekstensi individu untuk dukungan.

Akses jaringan

Paket ekstensi diunduh dari repositori ekstensi Azure Storage. Pengunggahan status ekstensi dikirim ke Azure Storage.

Jika Anda menggunakan versi Agen mesin virtual Azure yang didukung, Anda tidak perlu mengizinkan akses ke Azure Storage di wilayah mesin virtual. Anda dapat menggunakan Agen VM untuk mengalihkan komunikasi ke pengontrol fabric Azure untuk komunikasi agen (melalui HostGAPlugin fitur melalui saluran istimewa pada alamat IP privat 168.63.129.16). Jika Anda menggunakan versi Agen VM yang tidak didukung, Anda perlu mengizinkan akses keluar ke Azure Storage di wilayah tersebut dari VM.

Penting

Jika Anda memblokir akses ke alamat IP 168.63.129.16 dengan menggunakan firewall tamu atau melalui proksi, ekstensi gagal. Kegagalan terjadi bahkan jika Anda menggunakan versi Agen VM yang didukung atau Anda mengonfigurasi akses keluar. Port 80 dan 32526 diperlukan.

Agen hanya dapat digunakan untuk mengunduh paket ekstensi dan status laporan. Misalnya, jika penginstalan ekstensi perlu mengunduh skrip dari GitHub (Ekstensi Skrip Kustom) atau memerlukan akses ke Azure Storage (Azure Backup), maka Anda perlu membuka port firewall atau kelompok keamanan jaringan (NSG) lainnya. Ekstensi yang berbeda memiliki persyaratan yang berbeda karena mereka adalah aplikasi dengan hak mereka sendiri. Untuk ekstensi yang memerlukan akses ke Azure Storage atau ID Microsoft Entra, Anda dapat mengizinkan akses dengan menggunakan tag layanan Azure NSG.

Agen Azure VM tidak menyediakan dukungan server proksi untuk mengaktifkan pengalihan permintaan lalu lintas agen. Agen VM bergantung pada proksi kustom Anda (jika Anda memilikinya) untuk mengakses sumber daya di internet atau di host melalui alamat IP 168.63.129.16.

Menemukan ekstensi VM

Banyak ekstensi mesin virtual tersedia untuk digunakan dengan mesin virtual Azure. Untuk melihat daftar lengkap, gunakan Get-AzVMExtensionImage cmdlet PowerShell.

Perintah berikut mencantumkan semua ekstensi VM yang tersedia di lokasi wilayah US Barat:

Get-AzVmImagePublisher -Location "West US" |
Get-AzVMExtensionImageType |
Get-AzVMExtensionImage | Select Type, Version

Perintah ini menyediakan output yang mirip dengan contoh berikut:

Type                Version
----                -------
AcronisBackup       1.0.33
AcronisBackup       1.0.51
AcronisBackupLinux  1.0.33
AlertLogicLM        1.3.0.1
AlertLogicLM        1.3.0.0
AlertLogicLM        1.4.0.1

Menjalankan ekstensi VM

Ekstensi Azure VM berjalan pada VM yang ada, yang berguna saat anda perlu membuat perubahan konfigurasi atau memulihkan konektivitas pada VM yang telah disebarkan. Ekstensi Mesin Virtual juga dapat digabungkan dengan penyebaran template ARM. Dengan menggunakan ekstensi dengan template ARM, Anda dapat menyebarkan dan mengonfigurasi Mesin Virtual Azure tanpa intervensi pasca penyebaran.

Metode berikut dapat digunakan untuk menjalankan ekstensi terhadap mesin virtual yang ada.

Catatan

Beberapa contoh berikut menggunakan "<placeholder>" nilai parameter dalam perintah. Sebelum Anda menjalankan setiap perintah, pastikan untuk mengganti nilai apa pun "<placeholder>" dengan nilai tertentu untuk konfigurasi Anda.

PowerShell

Beberapa perintah PowerShell ada untuk menjalankan ekstensi individual. Untuk melihat daftar, gunakan perintah Get-Command dan filter pada Ekstensi:

Get-Command Set-Az*Extension* -Module Az.Compute

Perintah ini menyediakan output yang mirip dengan contoh berikut:

CommandType     Name                                          Version    Source
-----------     ----                                          -------    ------
Cmdlet          Set-AzVMAccessExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMADDomainExtension                     4.5.0      Az.Compute
Cmdlet          Set-AzVMAEMExtension                          4.5.0      Az.Compute
Cmdlet          Set-AzVMBackupExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMBginfoExtension                       4.5.0      Az.Compute
Cmdlet          Set-AzVMChefExtension                         4.5.0      Az.Compute
Cmdlet          Set-AzVMCustomScriptExtension                 4.5.0      Az.Compute
Cmdlet          Set-AzVMDiagnosticsExtension                  4.5.0      Az.Compute
Cmdlet          Set-AzVMDiskEncryptionExtension               4.5.0      Az.Compute
Cmdlet          Set-AzVMDscExtension                          4.5.0      Az.Compute
Cmdlet          Set-AzVMExtension                             4.5.0      Az.Compute
Cmdlet          Set-AzVMSqlServerExtension                    4.5.0      Az.Compute
Cmdlet          Set-AzVmssDiskEncryptionExtension             4.5.0      Az.Compute

Contoh berikut menggunakan Ekstensi Skrip Kustom untuk mengunduh skrip dari repositori GitHub ke komputer virtual target lalu menjalankan skrip.

Set-AzVMCustomScriptExtension -ResourceGroupName "<myResourceGroup>" `
    -VMName "<myVM>" -Name "<myCustomScript>" `
    -FileUri "https://raw.githubusercontent.com/neilpeterson/nepeters-azure-templates/master/windows-custom-script-simple/support-scripts/Create-File.ps1" `
    -Run "Create-File.ps1" -Location "<myVMregion>"

Contoh berikut menggunakan ekstensi VMAccess untuk mereset kata sandi administratif mesin virtual Windows ke kata sandi sementara. Setelah menjalankan kode ini, Anda harus mengatur ulang kata sandi pada rincian masuk pertama.

$cred=Get-Credential

Set-AzVMAccessExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myVMAccess" `
    -Location "myVMregion" -UserName $cred.GetNetworkCredential().Username `
    -Password $cred.GetNetworkCredential().Password -typeHandlerVersion "2.0"

Anda dapat menggunakan perintah Set-AzVMExtension untuk memulai ekstensi mesin virtual apa pun.

Portal Azure

Anda dapat menerapkan ekstensi Mesin Virtual ke Mesin Virtual yang ada melalui portal Microsoft Azure. Pilih VM di portal, pilih Ekstensi + Aplikasi, lalu pilih + Tambahkan. Pilih ekstensi yang Anda inginkan dari daftar ekstensi yang tersedia, dan ikuti petunjuk di wizard.

Contoh berikut ini memperlihatkan penginstalan ekstensi Microsoft Antimalware dari portal Azure:

Screenshot of the dialog for installing the Microsoft Antimalware extension.

Templat Azure Resource Manager

Anda dapat menambahkan ekstensi Mesin Virtual ke template ARM dan menjalankannya dengan penyebaran template. Saat Anda menyebarkan ekstensi dengan templat, Anda dapat membuat penyebaran Azure yang dikonfigurasi sepenuhnya.

Contoh JSON berikut berasal dari templat ARM yang menyebarkan sekumpulan VM seimbang beban dan database Azure SQL, lalu menginstal aplikasi .NET Core pada setiap VM. Ekstensi VM mengurus penginstalan perangkat lunak.

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Untuk informasi selengkapnya tentang membuat templat ARM, lihat Komputer virtual dalam templat ARM.

Membantu mengamankan data ekstensi Mesin Virtual

Saat Anda menjalankan ekstensi Mesin Virtual, Anda mungkin perlu menyertakan informasi sensitif seperti kredensial, nama akun penyimpanan, dan kunci akses. Banyak ekstensi VM menyertakan konfigurasi terlindungi yang mengenkripsi data dan hanya mendekripsinya di dalam VM target. Setiap ekstensi memiliki skema konfigurasi tertentu yang dilindungi, dan setiap skema dirinci dalam dokumentasi khusus ekstensi.

Contoh JSON berikut menunjukkan instans Ekstensi Skrip Kustom untuk Windows. Perintah untuk menjalankannya mencakup satu set info masuk. Dalam contoh ini, perintah yang akan dijalankan tidak dienkripsi.

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ],
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Memindahkan properti commandToExecute ke konfigurasi protected membantu mengamankan string eksekusi, seperti yang ditunjukkan pada contoh berikut:

{
    "apiVersion": "2015-06-15",
    "type": "extensions",
    "name": "config-app",
    "location": "[resourceGroup().location]",
    "dependsOn": [
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'),copyindex())]",
    "[variables('musicstoresqlName')]"
    ],
    "tags": {
    "displayName": "config-app"
    },
    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },
    "protectedSettings": {
        "commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File configure-music-app.ps1 -user ',parameters('adminUsername'),' -password ',parameters('adminPassword'),' -sqlserver ',variables('musicstoresqlName'),'.database.windows.net')]"
    }
    }
}

Pada mesin virtual infrastruktur sebagai layanan (IaaS) Azure yang menggunakan ekstensi, di konsol sertifikat, Anda mungkin melihat sertifikat yang memiliki subjek Windows Azure CRP Certificate Generator. Pada mesin virtual RedDog Front End (RDFE) Klasik, sertifikat ini memiliki nama subjek Windows Azure Service Management for Extensions.

Sertifikat ini mengamankan komunikasi antara VM dan host-nya selama transfer pengaturan yang dilindungi (kata sandi dan info masuk lain) yang digunakan oleh ekstensi. Pengontrol fabric Azure membangun sertifikat dan meneruskannya ke Azure VM Agent. Jika Anda menghentikan dan memulai mesin virtual setiap hari, sertifikat baru mungkin dibuat oleh pengontrol fabric. Sertifikat disimpan di penyimpanan sertifikat pribadi komputer. Sertifikat ini bisa dihapus. Agen mesin virtual Azure membuat ulang sertifikat jika diperlukan.

Cara agen dan ekstensi diperbarui

Agen dan ekstensi memiliki mekanisme pembaruan otomatis yang sama.

Saat pembaruan tersedia dan pembaruan otomatis diaktifkan, pembaruan diinstal pada VM hanya setelah ekstensi atau model VM lainnya berubah. Perubahan dapat mencakup:

  • Disk data
  • Ekstensi
  • Tag Ekstensi
  • Kontainer diagnostik boot
  • Rahasia OS Guest
  • Ukuran komputer virtual
  • Profil jaringan

Penerbit membuat pembaruan tersedia untuk wilayah di berbagai waktu. Ada kemungkinan Anda dapat memiliki VM di berbagai wilayah pada versi yang berbeda.

Catatan

Beberapa pembaruan mungkin memerlukan aturan firewall tambahan. Untuk informasi selengkapnya, lihat Akses jaringan.

Mencantumkan ekstensi yang disebarkan ke VM

Anda dapat menggunakan perintah berikut untuk mencantumkan ekstensi yang disebarkan ke VM:

$vm = Get-AzVM -ResourceGroupName "<myResourceGroup>" -VMName "<myVM>"
$vm.Extensions | select Publisher, VirtualMachineExtensionType, TypeHandlerVersion

Perintah ini menghasilkan output yang mirip dengan contoh berikut:

Publisher             VirtualMachineExtensionType          TypeHandlerVersion
---------             ---------------------------          ------------------
Microsoft.Compute     CustomScriptExtension                1.9

Pembaruan agen

Agen mesin virtual Azure hanya berisi kode penanganan ekstensi. Kode provisi Windows terpisah. Anda dapat menghapus penginstalan Agen mesin virtual Azure. Anda tidak dapat menonaktifkan pembaruan otomatis Agen mesin virtual Azure.

Kode penanganan ekstensi bertanggung jawab atas tugas-tugas berikut:

  • Berkomunikasi dengan kain Azure.
  • Tangani operasi ekstensi VM, seperti penginstalan, status pelaporan, memperbarui ekstensi individual, dan menghapus ekstensi. Pembaruan berisi perbaikan keamanan, perbaikan bug, dan peningkatan pada kode penanganan ekstensi.

Untuk memeriksa versi apa yang Anda jalankan, lihat Mendeteksi Agen Azure VM.

Pembaruan ekstensi

Saat pembaruan ekstensi tersedia dan pembaruan otomatis diaktifkan, jika model VM berubah, Agen Azure VM mengunduh dan meningkatkan ekstensi.

Pembaruan ekstensi otomatis berupa minor atau perbaikan. Anda dapat memilih ikut atau menolak pembaruan kecil saat Anda memprovisikan ekstensi. Contoh berikut menunjukkan cara meningkatkan versi minor secara otomatis dalam templat ARM dengan menggunakan "autoUpgradeMinorVersion": true, parameter :

    "properties": {
    "publisher": "Microsoft.Compute",
    "type": "CustomScriptExtension",
    "typeHandlerVersion": "1.9",
    "autoUpgradeMinorVersion": true,
    "settings": {
        "fileUris": [
        "https://raw.githubusercontent.com/Microsoft/dotnet-core-sample-templates/master/dotnet-core-music-windows/scripts/configure-music-app.ps1"
        ]
    },

Untuk mendapatkan perbaikan bug rilis minor terbaru, sebaiknya Anda selalu memilih pembaruan otomatis dalam penyebaran ekstensi Anda. Anda tidak dapat menolak pembaruan perbaikan yang membawa perbaikan bug keamanan atau kunci.

Jika Anda menonaktifkan pembaruan otomatis atau perlu meningkatkan versi utama, gunakan perintah Set-AzVMExtension dan tentukan versi target.

Cara mengidentifikasi pembaruan ekstensi

Ada beberapa cara untuk mengidentifikasi pembaruan untuk ekstensi.

Mengidentifikasi apakah ekstensi diatur dengan autoUpgradeMinorVersion pada Mesin Virtual

Anda dapat melihat model VM untuk menentukan apakah ekstensi disediakan dengan autoUpgradeMinorVersion parameter . Untuk memeriksa model VM, gunakan perintah Get-AzVm dan berikan grup sumber daya dan nama VM sebagai berikut:

 $vm = Get-AzVm -ResourceGroupName "myResourceGroup" -VMName "myVM"
 $vm.Extensions

Contoh output berikut menunjukkan autoUpgradeMinorVersion parameter diatur ke true:

ForceUpdateTag              :
Publisher                   : Microsoft.Compute
VirtualMachineExtensionType : CustomScriptExtension
TypeHandlerVersion          : 1.9
AutoUpgradeMinorVersion     : True

Identifikasi kapan peristiwa autoUpgradeMinorVersion terjadi

Untuk melihat kapan pembaruan pada ekstensi terjadi, Anda dapat meninjau log agen pada VM di C:\WindowsAzure\Logs\WaAppAgent.log.

Contoh berikut menunjukkan VM dengan Microsoft.Compute.CustomScriptExtension versi terinstal 1.8 , dan perbaikan tersedia untuk versi 1.9.

[INFO]  Getting plugin locations for plugin 'Microsoft.Compute.CustomScriptExtension'. Current Version: '1.8', Requested Version: '1.9'
[INFO]  Auto-Upgrade mode. Highest public version for plugin 'Microsoft.Compute.CustomScriptExtension' with requested version: '1.9', is: '1.9'

Izin agen

Untuk melakukan tugasnya, Azure VM Agent perlu berjalan sebagai Sistem Lokal.

Memecahkan masalah ekstensi VM

Setiap ekstensi Mesin Virtual mungkin memiliki langkah pemecahan masalah khusus. Misalnya, saat Menggunakan Ekstensi Skrip Kustom, Anda dapat menemukan detail eksekusi skrip secara lokal pada VM tempat ekstensi dijalankan.

Tindakan pemecahan masalah berikut berlaku untuk semua ekstensi mesin virtual:

  • Untuk memeriksa Log Agen mesin virtual Azure, lihat aktivitas saat ekstensi Anda sedang diprovisikan di C:\WindowsAzure\Logs\WaAppAgent.log.

  • Periksa log ekstensi untuk detail selengkapnya di C:\WindowsAzure\Logs\Plugins <extensionName>.

  • Periksa bagian pemecahan masalah dalam dokumentasi khusus ekstensi untuk kode kesalahan, masalah yang diketahui, dan informasi khusus ekstensi lainnya.

  • Lihat pada log sistemnya. Periksa operasi lain yang mungkin mengganggu ekstensi, seperti penginstalan aplikasi lain yang berjalan lama dan memerlukan akses eksklusif ke manajer paket.

  • Dalam VM, jika ada ekstensi yang ada dengan status provisi yang gagal, ekstensi baru lainnya gagal diinstal.

Alasan umum untuk kegagalan ekstensi

Berikut adalah beberapa alasan umum ekstensi dapat gagal:

  • Ekstensi memiliki waktu 20 menit untuk dijalankan. (Pengecualian adalah Skrip Kustom, Chef, dan DSC, yang memiliki waktu 90 menit.) Jika penyebaran Anda melebihi waktu ini, skrip ditandai sebagai waktu habis. Penyebab masalah ini dapat berupa VM sumber daya rendah, atau konfigurasi VM atau tugas startup lainnya mengonsumsi sumber daya dalam jumlah besar saat ekstensi mencoba menyediakan.

  • Prasyarat minimum tidak terpenuhi. Beberapa ekstensi memiliki ketergantungan pada SKU VM, seperti gambar HPC. Ekstensi mungkin memiliki persyaratan akses jaringan tertentu, seperti berkomunikasi dengan Azure Storage atau layanan publik. Contoh lain mungkin akses ke repositori paket, kehabisan ruang disk, atau pembatasan keamanan.

  • Akses manajer paket bersifat eksklusif. Dalam beberapa kasus, konfigurasi Mesin Virtual yang berjalan lama dan penginstalan ekstensi mungkin bertentangan karena keduanya memerlukan akses eksklusif ke manajer paket.

Menampilkan status ekstensi

Setelah ekstensi VM dijalankan terhadap VM, gunakan perintah Get-AzVM untuk mengembalikan status ekstensi. Hasilnya Substatuses[0] menunjukkan bahwa provisi ekstensi berhasil, yang berarti berhasil disebarkan ke VM. Jika Anda melihat hasilnya Substatuses[1] , maka eksekusi ekstensi di dalam VM gagal.

Get-AzVM -ResourceGroupName "myResourceGroup" -VMName "myVM" -Status

Outputnya mirip dengan contoh berikut:

Extensions[0]           :
  Name                  : CustomScriptExtension
  Type                  : Microsoft.Compute.CustomScriptExtension
  TypeHandlerVersion    : 1.9
  Substatuses[0]        :
    Code                : ComponentStatus/StdOut/succeeded
    Level               : Info
    DisplayStatus       : Provisioning succeeded
    Message             : Windows PowerShell \nCopyright (C) Microsoft Corporation. All rights reserved.\n
  Substatuses[1]        :
    Code                : ComponentStatus/StdErr/succeeded
    Level               : Info
    DisplayStatus       : Provisioning succeeded
    Message             : The argument 'cseTest%20Scriptparam1.ps1' to the -File parameter does not exist. Provide the path to an existing '.ps1' file as an argument to the

-File parameter.
  Statuses[0]           :
    Code                : ProvisioningState/failed/-196608
    Level               : Error
    DisplayStatus       : Provisioning failed
    Message             : Finished executing command

Anda juga dapat menemukan status eksekusi ekstensi di portal Microsoft Azure. Pilih Mesin Virtual, pilih Ekstensi, lalu pilih ekstensi yang diinginkan.

Menjalankan ulang ekstensi VM

Dalam kasus tertentu, Anda mungkin perlu menjalankan ulang ekstensi VM. Anda dapat menjalankan ulang ekstensi dengan menghapus ekstensi, lalu menjalankan ulang ekstensi dengan metode eksekusi pilihan Anda. Untuk menghapus ekstensi, gunakan perintah Remove-AzVMExtension sebagai berikut:

Remove-AzVMExtension -ResourceGroupName "myResourceGroup" -VMName "myVM" -Name "myExtensionName"

Anda juga dapat menghapus ekstensi di portal Azure. Pilih VM, pilih Ekstensi, lalu pilih ekstensi yang diinginkan. Pilih Copot pemasangan.

Referensi ekstensi VM umum

Tabel berikut ini menyediakan beberapa referensi umum untuk ekstensi VM.

Nama ekstensi Deskripsi
Ekstensi Skrip Kustom untuk Windows Jalankan skrip terhadap mesin virtual Azure.
Ekstensi DSC untuk Windows Terapkan konfigurasi status yang diinginkan PowerShell ke komputer virtual.
Ekstensi Diagnostik Azure Mengelola Diagnostik Azure.
Ekstensi VMAccess Mengelola pengguna dan info masuk.

Langkah berikutnya

Untuk informasi selengkapnya tentang ekstensi Mesin Virtual, lihat Ekstensi dan fitur mesin virtual Azure.