Bagikan melalui


Memigrasikan paket MSIX dari lampiran aplikasi MSIX ke lampiran aplikasi

Lampiran aplikasi meningkatkan pengalaman administratif dan pengguna melalui lampiran aplikasi MSIX. Jika Anda menggunakan lampiran aplikasi MSIX, Anda dapat memigrasikan paket MSIX ke lampiran aplikasi menggunakan skrip PowerShell.

Skrip migrasi dapat melakukan tindakan berikut:

  • Membuat objek paket lampiran aplikasi baru dan dapat menghapus objek paket MSIX asli, jika perlu.

  • Salin izin dari grup aplikasi yang terkait dengan kumpulan host dan paket MSIX.

  • Salin lokasi dan grup sumber daya kumpulan host dan paket MSIX.

  • Aktivitas migrasi log.

Prasyarat

Untuk menggunakan skrip migrasi, Anda memerlukan:

  • Kumpulan host dikonfigurasi sebagai lingkungan validasi, dengan setidaknya satu paket MSIX ditambahkan dengan lampiran aplikasi MSIX.

  • Akun Azure dengan peran kontrol akses berbasis peran (RBAC) Kontributor Virtualisasi Desktop yang ditetapkan pada kumpulan host.

  • Perangkat lokal dengan PowerShell. Pastikan Anda memiliki versi terbaru Az PowerShell dan Microsoft Graph PowerShell SDK yang terinstal. Secara khusus, modul berikut diperlukan:

    • Az.DesktopVirtualization
    • Az.Accounts
    • Az.Resources
    • Microsoft.Graph.Authentication

Parameter

Berikut adalah parameter yang dapat Anda gunakan dengan skrip migrasi:

Parameter Deskripsi
MsixPackage Objek paket MSIX untuk dimigrasikan ke objek lampiran aplikasi. Nilai ini dapat diteruskan melalui alur.
PermissionSource Tempat mendapatkan izin dari untuk objek lampiran aplikasi baru. Default untuk tidak ada izin yang diberikan. Opsinya adalah:
  • DAG: grup aplikasi desktop yang terkait dengan kumpulan host dan paket MSIX
  • RAG: satu atau beberapa grup aplikasi RemoteApp yang terkait dengan kumpulan host dan paket MSIX
Kedua opsi memberikan izin kepada semua pengguna dan grup dengan izin apa pun yang dilingkupkan khusus untuk grup aplikasi.
HostPoolsForNewPackage ID sumber daya kumpulan host untuk mengaitkan objek lampiran aplikasi baru. Default ke tidak ada kumpulan host. Kumpulan host harus berada di lokasi yang sama dengan paket lampiran aplikasi yang terkait dengannya.
TargetResourceGroupName Grup sumber daya untuk menyimpan objek lampiran aplikasi baru. Default ke grup sumber daya kumpulan host yang dikaitkan dengan paket MSIX.
Location Wilayah Azure untuk membuat objek lampiran aplikasi baru. Default ke lokasi kumpulan host yang dikaitkan dengan paket MSIX. Paket lampiran aplikasi harus berada di lokasi yang sama dengan kumpulan host yang terkait dengannya.
DeleteOrigin Hapus paket MSIX sumber setelah migrasi.
IsActive Mengaktifkan objek lampiran aplikasi baru.
DeactivateOrigin Menonaktifkan objek paket MSIX sumber setelah migrasi.
PassThru Meneruskan objek lampiran aplikasi baru. Passthru mengembalikan objek untuk paket yang dibuat. Gunakan nilai ini jika Anda ingin memeriksanya atau meneruskannya ke perintah PowerShell lain.
LogInJSON Tulis ke file log dalam Format JSON.
LogFilePath Jalur file log, default ke MsixMigration[Timestamp].log dalam folder sementara, seperti C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. Jalur untuk pengelogan ditulis ke konsol saat skrip dijalankan.

Mengunduh dan menjalankan skrip migrasi

Berikut cara memigrasikan paket MSIX dari lampiran aplikasi MSIX ke lampiran aplikasi.

Penting

Dalam contoh berikut, Anda harus mengubah <placeholder> nilai untuk anda sendiri.

  1. Buka permintaan PowerShell di perangkat lokal Anda.

  2. Unduh skrip Migrate-MsixPackagesToAppAttach.ps1 PowerShell dan buka blokir dengan menjalankan perintah berikut:

    $url = "https://raw.githubusercontent.com/Azure/RDS-Templates/master/msix-app-attach/MigrationScript/Migrate-MsixPackagesToAppAttach.ps1"
    $filename = $url.Split('/')[-1]
    
    Invoke-WebRequest -Uri $url -OutFile $filename | Unblock-File
    
  3. Impor modul yang diperlukan dengan menjalankan perintah berikut:

    Import-Module Az.DesktopVirtualization
    Import-Module Az.Accounts
    Import-Module Az.Resources
    Import-Module Microsoft.Graph.Authentication
    
  4. Sambungkan ke Azure dengan menjalankan perintah berikut dan ikuti perintah untuk masuk ke akun Azure Anda:

    Connect-AzAccount
    
  5. Sambungkan ke Microsoft Graph dengan menjalankan perintah berikut:

    Connect-MgGraph -Scopes "Group.Read.All"
    

Sub bagian berikut berisi beberapa contoh cara menggunakan skrip migrasi. Lihat bagian parameter untuk semua parameter yang tersedia dan deskripsi setiap parameter.

Tip

Jika Anda tidak meneruskan parameter apa pun ke skrip migrasi, parameter tersebut memiliki perilaku default berikut:

  • Tidak ada izin yang diberikan ke paket lampiran aplikasi baru.
  • Paket lampiran aplikasi baru tidak terkait dengan kumpulan host apa pun dan tidak aktif.
  • Paket lampiran aplikasi baru dibuat di grup sumber daya dan lokasi yang sama dengan kumpulan host.
  • Paket MSIX asli masih aktif tidak dinonaktifkan atau dihapus.
  • Informasi log ditulis ke jalur file default.

Memigrasikan paket MSIX tertentu yang ditambahkan ke kumpulan host dan grup aplikasi

Berikut adalah contoh untuk memigrasikan paket MSIX tertentu yang ditambahkan ke kumpulan host dari lampiran aplikasi MSIX ke lampiran aplikasi. Contoh ini:

  • Memigrasikan paket MSIX ke grup sumber daya dan lokasi yang sama dengan kumpulan host.
  • Menetapkan paket MSIX di lampiran aplikasi ke kumpulan host yang sama dan pengguna yang sama dengan sumber grup aplikasi RemoteApp.
  • Membiarkan konfigurasi paket MSIX yang ada di lampiran aplikasi MSIX aktif pada kumpulan host. Jika Anda ingin segera menonaktifkan paket MSIX, gunakan -DeactivateOrigin parameter .
  • Mengatur konfigurasi paket MSIX baru di lampiran aplikasi tidak aktif. Jika Anda ingin segera mengaktifkan paket MSIX, gunakan -IsActive parameter .
  • Menulis informasi log ke jalur dan format file default.
  1. Dari perintah PowerShell yang sama, dapatkan daftar paket MSIX yang ditambahkan ke kumpulan host dengan menjalankan perintah berikut:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    Get-AzWvdMsixPackage @parameters | Select-Object DisplayName, Name
    

    Outputnya mirip dengan contoh berikut:

    DisplayName Name
    ----------- ----
    MyApp       hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
    
  2. Temukan paket MSIX yang ingin Anda migrasikan dan gunakan nilai dari Name parameter di output sebelumnya:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>'
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id
    
  3. Migrasikan paket MSIX dengan menjalankan perintah berikut:

    $parameters = @{
        PermissionSource = 'RAG'
        HostPoolsForNewPackage = $hostPoolId
        PassThru = $true
    }
    
    $msixPackage | .\Migrate-MsixPackagesToAppAttach.ps1 @parameters
    

Memigrasikan semua paket MSIX yang ditambahkan ke kumpulan host

Berikut adalah contoh untuk memigrasikan semua paket MSIX yang ditambahkan ke kumpulan host dari lampiran aplikasi MSIX ke lampiran aplikasi. Contoh ini:

  • Memigrasikan paket MSIX ke grup sumber daya dan lokasi yang sama.
  • Menambahkan paket lampiran aplikasi baru ke kumpulan host yang sama.
  • Mengatur semua paket lampiran aplikasi ke aktif.
  • Mengatur semua paket MSIX ke tidak aktif.
  • Menyalin izin dari grup aplikasi desktop terkait.
  • Menulis informasi log ke jalur file kustom dalam C:\MsixToAppAttach.log format JSON.
  1. Dari perintah PowerShell yang sama, dapatkan semua paket MSIX yang ditambahkan ke kumpulan host dan simpan dalam variabel dengan menjalankan perintah berikut:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackages = Get-AzWvdMsixPackage @parameters
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id   
    
  2. Migrasikan paket MSIX dengan menjalankan perintah berikut:

    $logFilePath = "C:\Temp\MsixToAppAttach.log"
    
    $parameters = @{
        IsActive = $true
        DeactivateOrigin = $true
        PermissionSource = 'DAG'
        HostPoolsForNewPackage = $hostPoolId
        PassThru = $true
        LogInJSON = $true
        LogFilePath = $LogFilePath
    }
    
    $msixPackages | .\Migrate-MsixPackagesToAppAttach.ps1 @parameters