Bagikan melalui


Ekstensi VMAccess untuk Windows

Ekstensi VMAccess digunakan untuk mengelola pengguna administratif, mengonfigurasi RDP, dan memeriksa atau memperbaiki disk pada komputer virtual Azure Windows. Ekstensi terintegrasi dengan templat Azure Resource Manager. Ini juga dapat dipanggil menggunakan Azure CLI, Azure PowerShell, portal Azure, dan REST API Azure Virtual Machines.

Artikel ini menjelaskan cara menjalankan Ekstensi VMAccess dari Azure PowerShell dan melalui templat Azure Resource Manager. Artikel ini juga menyediakan langkah-langkah pemecahan masalah untuk sistem Windows.

Note

Jika Anda menggunakan ekstensi VMAccess untuk mengatur ulang kata sandi VM anda setelah menginstal ekstensi Microsoft Entra Login, jalankan ulang ekstensi Microsoft Entra Login untuk mengaktifkan kembali Microsoft Entra Login untuk VM Anda.

Note

New! Coba bantuan VM untuk Diagnostik Yang Lebih CepatKami menyarankan agar Anda menjalankan VM assist untuk Windows atau VM assist untuk Linux. Alat diagnostik berbasis skrip ini membantu Anda mengidentifikasi masalah umum yang memengaruhi Agen Tamu Azure VM dan kesehatan VM secara keseluruhan.

Prerequisites

Versi Windows yang Didukung

Versi OS x64 ARM64
Windows 10 Supported Supported
Windows 11 Supported Supported
Windows Server 2016 Supported Supported
Windows Server 2016 Core Supported Supported
Windows Server 2019 Supported Supported
Windows Server 2019 Core Supported Supported
Windows Server 2022 Supported Supported
Windows Server 2022 Core Supported Supported
Windows Server 2025 Supported Supported
Windows Server 2025 Core Supported Supported

Tips

  • VMAccess dirancang untuk mendapatkan kembali akses ke VM saat akses hilang. Berdasarkan prinsip ini, ini memberikan hak istimewa administrator ke akun yang ditentukan di bidang nama pengguna. Jika Anda tidak ingin pengguna memiliki izin admin, masuk ke VM dan gunakan alat bawaan (seperti net user dan Local Users and Groups) untuk mengelola hak istimewa pengguna.
  • Anda hanya dapat memiliki satu versi ekstensi yang diterapkan ke VM. Untuk menjalankan tindakan kedua, perbarui ekstensi yang ada dengan konfigurasi baru.
  • Saat memperbarui pengguna, VMAccess memodifikasi pengaturan Desktop Jauh untuk mengizinkan masuk.
  • Tidak didukung pada Pengendali Domain

Skema ekstensi

Konfigurasi Ekstensi VMAccess mencakup pengaturan untuk nama pengguna, kata sandi, dan mereset kata sandi administrator. Anda dapat menyimpan informasi ini dalam file konfigurasi, menentukannya di PowerShell, atau menyertakannya dalam templat Azure Resource Manager (ARM). Skema JSON berikut berisi semua properti yang tersedia untuk digunakan dalam pengaturan publik dan terlindungi.

{
  "type": "Microsoft.Compute/virtualMachines/extensions",
  "name": "<name>",
  "apiVersion": "2023-09-01",
  "location": "<location>",
  "dependsOn": [
          "[concat('Microsoft.Compute/virtualMachines/', <vmName>)]"
  ],
  "properties": {
    "publisher": "Microsoft.Compute",
    "type": "VMAccessAgent",
    "typeHandlerVersion": "2.4",
    "autoUpgradeMinorVersion": true,
    "settings": {
      "username": "<username>"
    },
    "protectedSettings": {
      "password": "<password>"
    } 
  }
}

Nilai properti

Name Nilai / Contoh Jenis Data
apiVersion 2023-09-01 date
penerbit Microsoft.Compute string
jenis VMAccessAgent string
typeHandlerVersion 2.4 int

Pengaturan nilai properti

Name Jenis Data Description
nama pengguna string Nama pengguna yang akan dikelola (diperlukan untuk semua tindakan pada akun pengguna).
kata sandi string Kata sandi yang akan diatur untuk akun pengguna.

Template deployment

Ekstensi Azure VM dapat disebarkan dengan templat Azure Resource Manager (ARM). Skema JSON yang dirinci di bagian sebelumnya dapat digunakan dalam templat ARM untuk menjalankan Ekstensi VMAccess selama penyebaran templat.

Konfigurasi JSON untuk ekstensi mesin virtual harus ditumpuk di dalam fragmen sumber daya mesin virtual dari templat, khususnya objek "resources": [] untuk templat mesin virtual dan untuk skala mesin virtual yang ditetapkan di bawah objek "virtualMachineProfile":"extensionProfile":{"extensions" :[].

PowerShell

Set-AzVMAccessExtension - Reset Kata Sandi

Set-AzVMAccessExtension

Set-AzVMAccessExtension `
    -ResourceGroupName "myRG" `
    -Location "myLocation" `
    -VMName "myVM" `
    -Credential (get-credential) `
    -typeHandlerVersion "2.0" `
    -Name VMAccessAgent

Set-AzVMAccessExtension - Reset Konfigurasi RDP

Set-AzVMAccessExtension `
    -ResourceGroupName "myRG" `
    -VMName "myVM" `
    -Name "myVMAccess" `
    -Location "myLocation" `
    -typeHandlerVersion "2.0" `
    -ForceRerun $true

Set-AzVMExtension - Reset Kata Sandi

Set-AzVMExtension

$Publicsettings = '{"UserName": "myuser"}'
$protectedSettings = '{"Password": "myPassWord"}'

Set-AzVMExtension `
  -ResourceGroupName "myRG" `
  -VMName "myVM" `
  -Location "myLocation" `
  -Name "VMAccessAgent" `
  -Publisher "Microsoft.Compute" `
  -ExtensionType "VMAccessAgent" `
  -TypeHandlerVersion "2.0" `
  -ProtectedSettingString $PrivateConf `
  -SettingString $settings

Set-AzVMExtension - Reset Konfigurasi RDP

Set-AzVMExtension

Set-AzVMExtension `
  -ResourceGroupName "myRG" `
  -VMName "myVM" `
  -Location "myLocation" `
  -Name "VMAccessAgent" `
  -Publisher "Microsoft.Compute" `
  -ExtensionType "VMAccessAgent" `
  -TypeHandlerVersion "2.0" `
  -SettingString '{}' `
  -ForceRerun $true

CLI

Azure CLI - Reset Kata Sandi

az vm extension set

az vm extension set --name VMAccessAgent --publisher Microsoft.Compute --version 2.0 --vm-name "myVM" --resource-group "myRG" --settings '{"username":"myuser"}' --protected-settings '{"password":"myPassWord"}'

Azure CLI - Setel Ulang Konfigurasi RDP

az vm extension set --name VMAccessAgent --publisher Microsoft.Compute --version 2.0 --vm-name "myVM" --resource-group "myRG" --settings '{}'

Set skala mesin virtual

PowerShell

$resourceGroupName = "<resource-group>"
$vmssName = "<vmss-name>"

$settings = @{"UserName"= "myuser"}
$protectedSettings = @{"Password"= "myPassWord"}

$vmss = Get-AzVmss `
    -ResourceGroupName $resourceGroupName `
    -VMScaleSetName $vmssName

Add-AzVmssExtension -VirtualMachineScaleSet $vmss `
    -Name "VMAccessAgent" `
    -Publisher "Microsoft.Compute" `
    -Type "VMAccessAgent" `
    -TypeHandlerVersion "2.0" `
    -AutoUpgradeMinorVersion $true `
    -ProtectedSetting $protectedSettings
    -Setting $settings

Update-AzVmss `
    -ResourceGroupName $resourceGroupName `
    -Name $vmssName `
    -VirtualMachineScaleSet $vmss

CLI

az vmss extension set --vmss-name my-vmss --name VMAccessAgent --resource-group my-group --version 2.0 --publisher Microsoft.Compute --settings '{"username":"myuser"}' --protected-settings '{"password":"myPassWord"}'

Pemecahan masalah dan dukungan

Log ekstensi VMAccess ada secara lokal di VM dan sangat berguna untuk pemecahan masalah.

Location Description
C:\WindowsAzure\Logs\Plugins\Microsoft.Compute.VMAccessAgent\ Berisi log dari Agen Windows yang menunjukkan kapan pembaruan pada ekstensi terjadi. Verifikasi log ini untuk memastikan ekstensi berhasil dijalankan.
C:\WindowsAzure\Logs\Plugins\Microsoft.Compute.VMAccessAgent\<version>\ Ekstensi VMAccess menghasilkan log terperinci dalam direktori ini. Ini termasuk CommandExecution.log, yang mencatat setiap perintah yang dijalankan bersama dengan hasilnya, dan extension.log, yang berisi log eksekusi individu.
C:\WindowsAzure\Logs\WaAppAgent\ Berisi detail konfigurasi dan log biner yang terkait dengan ekstensi VMAccess.

Anda juga dapat mengambil status eksekusi Ekstensi VMAccess dengan menjalankan perintah berikut:

Get-AzVMExtension -ResourceGroupName "RG Name" -VMName "VM Name" -Name "Extension Name"

Pesan kesalahan

Error Description
"internalErrorCode": "CannotModifyExtensionsWhenVMNotRunning", "code": "OperationNotAllowed","message": "Tidak dapat mengubah ekstensi pada VM saat VM tidak berjalan." Kesalahan menunjukkan bahwa operasi untuk mengubah ekstensi di VM tidak diizinkan karena VM tidak berjalan. Pastikan bahwa VM dalam status berjalan sebelum mencoba memodifikasi ekstensi.
Pesan kesalahan: 'Ekstensi VMAccess tidak mendukung Pengendali Domain.' Kesalahan menunjukkan bahwa ekstensi VM 'enablevmAccess' gagal karena tidak mendukung Pengendali Domain. Pastikan bahwa VM tidak dikonfigurasi sebagai Pengendali Domain saat menggunakan ekstensi ini. Untuk informasi selengkapnya, lihat Mereset Layanan Desktop Jarak Jauh atau kata sandi administratornya di VM Windows.
VM 'vmname' belum melaporkan status untuk agen atau ekstensi VM. Verifikasi bahwa OS sudah aktif dan sehat, VM memiliki agen VM yang sedang berjalan, dan dapat membuat koneksi keluar ke penyimpanan Azure. Lihat Memecahkan masalah Azure Windows VM Agent.
Pesan kesalahan: 'Tidak dapat memperbarui pengaturan Koneksi Desktop Jauh untuk akun Administrator. Kata sandi tidak memenuhi persyaratan kebijakan kata sandi. Periksa panjang kata sandi minimum, kompleksitas kata sandi, dan persyaratan riwayat kata sandi. Kesalahan menunjukkan bahwa ekstensi VM 'enablevmAccess' gagal memperbarui pengaturan Koneksi Desktop Jauh untuk akun Administrator karena pelanggaran kebijakan kata sandi. Pastikan kata sandi memenuhi persyaratan kebijakan kata sandi Windows, termasuk panjang minimum, kompleksitas, dan riwayat.
Kata sandi Akun Pengguna Admin tidak boleh null atau kosong jika diberikan nama pengguna. Kesalahan menunjukkan bahwa ekstensi VM 'enablevmAccess' gagal karena kata sandi Akun Pengguna Admin tidak disediakan. Pastikan bahwa kata sandi non-null dan tidak kosong ditentukan untuk Akun Pengguna Admin untuk mengatasi masalah ini.
Penyediaan ekstensi VM enablevmaccess telah kehabisan waktu. Provisi ekstensi telah memakan waktu terlalu lama untuk diselesaikan. Ekstensi tidak melaporkan pesan. Pesan kesalahan menunjukkan bahwa penyediaan ekstensi VM 'enablevmaccess' telah kehabisan waktu karena terlalu lama untuk diselesaikan. Selain itu, ekstensi tidak memberikan pesan status apa pun selama proses. Untuk mengatasi masalah ini, pertimbangkan untuk memeriksa performa VM dan kondisi jaringan, dan coba lagi operasi provisi. Untuk informasi selengkapnya, lihat Pemecahan masalah kegagalan ekstensi Azure Windows VM.
Pesan kesalahan: 'Tidak dapat memperbarui pengaturan Koneksi Desktop Jauh untuk akun Administrator. Kesalahan: Nama pengguna akun pengguna sudah ada tetapi tidak dapat diperbarui karena tidak ada di grup Administrator. Kesalahan menunjukkan bahwa ekstensi VM 'enablevmAccess' gagal karena akun pengguna 'nama pengguna' sudah ada tetapi tidak ada di grup Administrator. Pastikan bahwa akun pengguna ditambahkan ke grup Administrator untuk mengatasi masalah ini.
"internalErrorCode": "MultipleExtensionsPerHandlerNotAllowed", "code": "BadRequest","message": "Beberapa VMExtensions per penangan tidak didukung untuk jenis OS 'Windows'. VMExtension 'enablevmaccess' dengan handler 'Microsoft.Compute.VMAccessAgent' sudah ditambahkan atau ditentukan dalam masukan. Pesan kesalahan menunjukkan bahwa beberapa ekstensi VM per handler tidak didukung untuk jenis OS 'Windows'. Ekstensi 'enablevmaccess' dengan handler 'Microsoft.Compute.VMAccessAgent' telah ditambahkan atau ditentukan dalam input. Untuk mengatasi masalah ini, pastikan bahwa hanya satu ekstensi per handler yang dikonfigurasi untuk VM.

Hapus ekstensi secara manual dan coba ulang operasi
Remove-AzVMExtension -ResourceGroupName "ResourceGroup11" -Name "ExtensionName" -VMName "VirtualMachineName"

Untuk bantuan selengkapnya, Anda dapat menghubungi pakar Azure di Dukungan Komunitas Azure. Atau, Anda dapat mengajukan insiden dukungan Azure. Buka Dukungan Azure dan pilih Dapatkan dukungan. Untuk informasi selengkapnya tentang Dukungan Azure, baca FAQ paket dukungan Azure.