Memigrasikan secara otomatis dari Azure Virtual Desktop (klasik)

Alat modul migrasi memungkinkan Anda memigrasikan organisasi Anda dari Azure Virtual Desktop (klasik) ke Azure Virtual Desktop secara otomatis. Artikel ini akan menunjukkan cara menggunakan alat kepada Anda.

Prasyarat

Sebelum Anda menggunakan modul migrasi, pastikan hal berikut sudah siap:

  • Langganan Azure tempat Anda akan membuat objek layanan Azure baru.

  • Anda hatus ditetapkan peran Kontributor untuk membuat objek Azure pada langganan Anda, dan peran Administrator Akses Pengguna untuk menetapkan pengguna ke grup aplikasi.

  • Setidaknya izin Kontributor Layanan Desktop Jauh (RDS) pada penyewa RDS atau kumpulan host tertentu yang Anda migrasikan.

  • Versi terbaru modul Microsoft.RdInfra.RDPowershell PowerShell.

  • Versi terbaru modul Az.DesktopVirtualization PowerShell.

  • Versi terbaru modul Az.Resources PowerShell.

  • Instal modul migrasi di komputer Anda.

  • PowerShell atau PowerShell ISE untuk menjalankan skrip yang akan Anda lihat di artikel ini. Modul Microsoft.RdInfra.RDPowershell tidak berfungsi di PowerShell Core.

Penting

Migrasi saat ini hanya membuat objek layanan di geografi AS. Jika Anda mencoba memigrasikan objek layanan Anda ke geografi lain, objek tersebut tidak akan berfungsi. Selain itu, jika Anda memiliki lebih dari 500 grup aplikasi dalam penyebaran Azure Virtual Desktop (klasik), Anda tidak akan dapat bermigrasi. Anda hanya akan dapat bermigrasi jika membangun kembali lingkungan untuk mengurangi jumlah grup aplikasi dalam penyewa Microsoft Entra Anda.

Menyiapkan lingkungan PowerShell Anda

Pertama, Anda harus menyiapkan lingkungan PowerShell Anda untuk proses migrasi.

Untuk menyiapkan lingkungan PowerShell Anda:

  1. Sebelum memulai, pastikan Anda memiliki versi terbaru modul Az.Desktop Virtualization dan Az.Resources dengan menjalankan cmdlet berikut:

    Get-Module Az.Resources
    Get-Module Az.DesktopVirtualization
    https://www.powershellgallery.com/packages/Az.DesktopVirtualization/
    https://www.powershellgallery.com/packages/Az.Resources/
    

    Jika tidak, Anda harus menginstal dan mengimpor modul dengan menjalankan cmdlet ini:

    Install-module Az.Resources
    Import-module Az.Resources
    Install-module Az.DesktopVirtualization
    Import-module Az.DesktopVirtualization
    
  2. Selanjutnya, copot instalan modul RDInfra PowerShell saat ini dengan menjalankan cmdlet ini:

    Uninstall-Module -Name Microsoft.RDInfra.RDPowershell -AllVersions
    
  3. Setelah itu, instal modul RDPowershell dengan cmdlet ini:

    Install-Module -Name Microsoft.RDInfra.RDPowershell -RequiredVersion 1.0.3414.0 -force
    Import-module Microsoft.RDInfra.RDPowershell
    
  4. Setelah selesai menginstal semuanya, jalankan cmdlet ini untuk memastikan Anda memiliki versi modul yang tepat:

    Get-Module Microsoft.RDInfra.RDPowershell
    
  5. Sekarang, mari kita instal dan impor modul migrasi dengan menjalankan cmdlet ini:

    Install-Module -Name PackageManagement -Repository PSGallery -Force
    Install-Module -Name PowerShellGet -Repository PSGallery -Force
    # Then restart shell
    Install-Module -Name Microsoft.RdInfra.RDPowershell.Migration -AllowClobber
    Import-Module <Full path to the location of the migration module>\Microsoft.RdInfra.RDPowershell.Migration.psd1
    
  6. Setelah selesai, masuk ke Azure Virtual Desktop (klasik) di jendela PowerShell Anda:

    Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com
    
  7. Masuk ke Azure Resource Manager:

    Login-AzAccount
    
  8. Jika Anda memiliki beberapa langganan, pilih yang ingin Anda migrasikan sumber daya Anda dengan cmdlet ini:

    Select-AzSubscription -Subscriptionid <subID>
    
  9. Daftarkan portal Penyedia Sumber di portal Microsoft Azure untuk langganan yang dipilih.

  10. Terakhir, Anda akan perlu mendaftarkan penyedia. Ada dua cara yang bisa Anda lakukan:

    • Jika Anda ingin menggunakan PowerShell, jalankan cmdlet ini:

      Register-AzResourceProvider -ProviderNamespace Microsoft.DesktopVirtualization
      
    • Jika Anda lebih suka menggunakan portal Microsoft Azure, buka dan masuk ke portal Azure, kemudian buka Langganan dan pilih nama langganan yang ingin Anda gunakan. Setelah itu, buka Penyedia Sumber>Microsoft.DesktopVirtualization dan pilih Batalkan pendaftaran. Anda belum akan melihat perubahan apa pun di UI, tetapi lingkungan PowerShell Anda seharusnya sekarang siap untuk menjalankan modul.

Migrasikan sumber daya Azure Virtual Desktop (klasik) ke Azure Resource Manager

Sekarang setelah lingkungan PowerShell Anda siap, Anda dapat memulai proses migrasi.

Untuk memigrasikan sumber daya Desktop virtual Azure (klasik) ke Azure Resource Manager:

  1. Sebelum memigrasikan, jika Anda ingin memahami bagaimana sumber daya Klasik yang ada akan dipetakan ke sumber daya Azure Resource Manager baru, jalankan cmdlet ini:

    Get-RdsHostPoolMigrationMapping
    

    Dengan Get-RdsHostPoolMigrationMapping, Anda dapat membuat file CSV yang dipetakan ke tempat sumber daya Anda akan pergi. Misalnya, jika nama penyewa Anda adalah "Contoso," dan Anda ingin menyimpan file pemetaan Anda di file "contosouser", Anda akan menjalankan cmdlet yang terlihat seperti ini:

    Get-RdsHostPoolMigrationMapping -Tenant Contoso -HostPool Office -Location EastUS -OutputFile 'C:\\Users\contosouser\OneDrive - Microsoft\Desktop\mapping.csv'
    
  2. Berikutnya, jalankan cmdlet Start-RdsHostPoolMigration untuk memilih apakah akan memigrasikan kumpulan host tunggal atau semua kumpulan host dalam penyewa.

    Misalnya:

    Start-RdsHostPoolMigration -Tenant Contoso -Location WestUS
    

    Jika Anda ingin memigrasikan sumber daya Anda kumpulan host tertentu, sertakan nama kumpulan host. Misalnya, jika Anda ingin memindahkan kumpulan host host bernama "Office," jalankan perintah seperti ini:

    Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments $false -Location EastUS
    

    Jika Anda tidak memberi ruang kerja nama, modul akan secara otomatis membuatnya untuk Anda berdasarkan nama penyewa. Namun, jika Anda lebih suka menggunakan ruang kerja tertentu, Anda dapat memasukkan ID sumber dayanya seperti ini:

    Start-RdsHostPoolMigration -Tenant Contoso -HostPool Office -CopyUserAssignments -Location EastUS -Workspace <Resource ID of workspacename>
    

    Jika Anda ingin menggunakan ruang kerja tertentu tetapi tidak tahu ID sumber dayanya, jalankan cmdlet ini:

    Get-AzWvdWorkspace -WorkspaceName <workspace> -ResourceGroupName <resource group> |fl
    

    Anda juga akan harus menentukan mode penugasan pengguna untuk penugasan pengguna yang sudah ada:

    • Gunakan Salin untuk menyalin semua penetapan pengguna dari grup aplikasi lama Anda ke grup aplikasi Azure Resource Manager. Pengguna akan dapat melihat umpan untuk kedua versi klien mereka.
    • Gunakan Tidak Ada jika Anda tidak ingin mengubah penugasan pengguna. Nantinya, Anda dapat menetapkan pengguna atau grup pengguna ke grup aplikasi dengan portal Azure, PowerShell, atau API. Pengguna hanya akan dapat melihat umpan menggunakan klien Azure Virtual Desktop (klasik).

    Anda hanya dapat menyalin 2.000 penugasan pengguna per langganan, sehingga batas Anda akan tergantung berapa banyak penugasan yang sudah ada dalam langganan Anda. Modul menghitung batas berdasarkan berapa banyak penugasan yang sudah Anda miliki. Jika Anda tidak memiliki cukup penugasan untuk disalin, Anda akan mendapatkan pesan kesalahan yang mengatakan "Kuota penugasan peran tidak cukup untuk menyalin penugasan pengguna. Jalankan kembali perintah tanpa beralih -CopyUserAssignments untuk bermigrasu."

  3. Setelah menjalankan perintah, dibutuhkan waktu hingga 15 menit bagi modul untuk membuat objek layanan. Jika Anda menyalin atau memindahkan penugasan pengguna apa pun, itu akan menambah waktu yang dibutuhkan modul untuk menyelesaikan pengaturan semuanya.

    Setelah cmdlet Start-RdsHostPoolMigration selesai, Anda akan melihat hal-hal berikut:

    • Objek layanan Azure untuk penyewa atau kumpulan host yang Anda tentukan.

    • Buat dua grup sumber daya baru:

      • Grup sumber daya yang disebut "Tenantname," yang berisi ruang kerja Anda.

      • Grup sumber daya yang disebut "Tenantname_originalHostPoolName", yang berisi kumpulan host dan grup aplikasi desktop.

    • Setiap pengguna yang Anda terbitkan ke grup aplikasi yang baru dibuat.

    • Mesin virtual akan tersedia di kumpulan host yang ada dan baru untuk menghindari waktu henti pengguna selama proses migrasi. Ini memungkinkan pengguna tersambung ke sesi pengguna yang sama.

    Karena objek layanan Azure baru ini adalah objek Azure Resource Manager, modul tidak dapat mengatur izin Kontrol Akses Berbasis Peran (RBAC) atau pengaturan diagnostik padanya. Oleh karena itu, Anda harus memperbarui izin dan pengaturan RBAC untuk objek ini secara manual.

    Setelah modul memvalidasi koneksi pengguna awal, Anda juga dapat menerbitkan grup aplikasi ke lebih banyak pengguna atau grup pengguna, jika Anda mau.

    Catatan

    Setelah migrasi, jika Anda memindahkan grup aplikasi ke grup sumber daya yang berbeda setelah menetapkan izin kepada pengguna, itu akan menghapus semua peran RBAC. Anda akan harus menetapkan kembali izin RBAC pengguna lagi.

  4. Jika Anda ingin menghapus semua objek layanan Azure Virtual Desktop (klasik), jalankan Complete-RdsHostPoolMigration untuk menyelesaikan proses migrasi. Cmdlet ini akan menghapus semua objek Azure Virtual Desktop (klasik), hanya menyisakan objek Azure baru. Pengguna hanya akan dapat melihat umpan untuk grup aplikasi yang baru dibuat pada klien mereka. Setelah perintah ini selesai, Anda dapat dengan aman menghapus penyewa Azure Virtual Desktop (klasik) untuk menyelesaikan proses.

    Misalnya:

    Complete-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Jika Anda ingin melengkapi kumpulan host tertentu, Anda dapat menyertakan nama kumpulan host di cmdlet. Misalnya, jika Anda ingin menyelesaikan kumpulan host bernama "Office," Anda akan menggunakan perintah seperti ini:

    Complete-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS
    

    Ini akan menghapus semua objek layanan yang dibuat oleh Azure Virtual Desktop (klasik). Anda akan dibiarkan hanya dengan objek Dan pengguna Azure baru hanya akan dapat melihat umpan untuk grup aplikasi yang baru dibuat pada klien mereka. Setelah selesai menyelesaikan migrasi, Anda perlu secara eksplisit menghapus penyewa di Azure Virtual Desktop (klasik).

  5. Jika Anda telah berubah pikiran tentang migrasi dan ingin mengembalikan proses, jalankan cmdlet Revert-RdsHostPoolMigration

    Misalnya:

    Revert-RdsHostPoolMigration -Tenant Contoso -Location EastUS
    

    Jika Anda ingin mengembalikan kumpulan host tertentu, Anda dapat menyertakan nama kumpulan host dalam perintah. Misalnya, jika Anda ingin mengembalikan kumpulan host bernama "Office," Anda akan memasukkan sesuatu seperti ini:

    Revert-RdsHostPoolMigration -Tenant Contoso -HostPool Office -Location EastUS
    

    Cmdlet ini akan menghapus semua objek layanan Azure yang baru dibuat. Pengguna Anda hanya akan melihat umpan untuk objek Azure Virtual Desktop (klasik) di klien mereka.

    Namun, cmdlet tidak akan menghapus ruang kerja yang dibuat modul atau grup sumber daya terkait. Anda harus menghapus item tersebut secara manual untuk menyingkirkannya.

  6. Jika Anda tidak ingin menghapus objek layanan Azure Virtual Desktop (klasik) tetapi ingin menguji migrasi, Anda dapat menjalankan Set-RdsHostPoolHidden.

    Misalnya:

    Set-RdsHostPoolHidden -Tenant Contoso -Hostpool Office -Hidden $true -Location WestUS
    

    Mengatur status menjadi "true" akan menyembunyikan sumber daya Azure Virtual Desktop (klasik). Mengaturnya menjadi "false" akan mengungkapkan sumber daya kepada pengguna Anda.

    Parameter -Hostpool bersifat opsional. Anda dapat menggunakan parameter ini jika ada kumpulan host Azure Virtual Desktop (klasik) tertentu yang ingin Anda sembunyikan.

    Cmdlet ini akan menyembunyikan umpan pengguna Azure Virtual Desktop (klasik) dan objek layanan, bukan menghapusnya. Namun, ini biasanya hanya digunakan untuk pengujian dan tidak dihitung sebagai migrasi yang sudah selesai. Untuk menyelesaikan migrasi, Anda harus menjalankan perintah Complete-RdsHostPoolMigration. Jika tidak, kembalikan penyebaran Anda dengan menjalankan Revert-RdsHostPoolMigration.

Memecahkan masalah migrasi otomatis

Bagian ini menjelaskan cara memecahkan masalah yang umum ditemui dalam modul migrasi.

Saya tidak dapat mengakses penyewa

Pertama, cobalah dua hal ini:

  • Pastikan akun admin Anda memiliki izin yang diperlukan untuk mengakses penyewa.
  • Coba jalankan Get-RdsTenant pada penyewa.

Jika kedua hal tersebut berfungsi, coba jalankan cmdlet Set-RdsMigrationContext untuk mengatur Konteks RDS dan Konteks ADAL untuk migrasi Anda:

  1. Buat Konteks RDS dengan menjalankan cmdlet Add-RdsAccount.

  2. Temukan Konteks RDS dalam $rdMgmtContext variabel global.

  3. Temukan Konteks ADAL dalam $AdalContext variabel global.

  4. Jalankan Set-RdsMigrationContext dengan variabel yang Anda temukan dalam format ini:

    Set-RdsMigrationContext -RdsContext <rdscontext> -AdalContext <adalcontext>
    

Langkah berikutnya

Jika Anda ingin mempelajari cara memigrasikan penyebaran secara otomatis, lihat Memigrasikan secara otomatis dari Azure Virtual Desktop (klasik).

Setelah Anda bermigrasi, ketahui cara kerja Azure Virtual Desktop dengan memeriksa tutorial kami. Pelajari tentang kapabilitas manajemen tingkat lanjut di Perluas kumpulan host yang ada dan Sesuaikan properti RDP.

Untuk mempelajari lebih lanjut tentang objek layanan, lihat lingkungan Azure Virtual Desktop.