Freigeben über


Migrieren von MSIX-Paketen vom MSIX-Feature zum Anfügen von Apps zu App Attach

App Attach verbessert die Administrator- und Benutzererfahrung im Vergleich zu MSIX App Attach. Wenn Sie das MSIX-Feature zum Anfügen von Apps verwenden, können Sie Ihre MSIX-Pakete mithilfe eines PowerShell-Skripts zu App Attach migrieren.

Das Migrationsskript kann die folgenden Aktionen ausführen:

  • Erstellen eines neuen App Attach-Paketobjekts und (sofern erforderlich) Löschen des ursprünglichen MSIX-Paketobjekts

  • Kopieren der Berechtigungen aus Anwendungsgruppen, die dem Hostpool und dem MSIX-Paket zugeordnet sind

  • Kopieren des Speicherorts und der Ressourcengruppe des Hostpools und des MSIX-Pakets

  • Protokollieren der Migrationsaktivität

Voraussetzungen

Um das Migrationsskript zu verwenden, benötigen Sie Folgendes:

  • Einen als Überprüfungsumgebung konfigurierten Hostpool mit mindestens einem MSIX-Paket, das mit dem MSIX-Feature zum Anfügen von Apps hinzugefügt wurde.

  • Ein Azure-Konto, in dem für den Hostpool die RBAC-Rolle (Role-Based Acces Control, rollenbasierte Zugriffssteuerung) Mitwirkender der Desktopvirtualisierung zugewiesen ist.

  • Ein lokales Gerät mit PowerShell. Stellen Sie sicher, dass die aktuellen Versionen von Az PowerShell und des Microsoft Graph PowerShell SDK installiert sind. Insbesondere sind die folgenden Module erforderlich:

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

Parameter

Im Folgenden sind die Parameter aufgeführt, die Sie mit dem Migrationsskript verwenden können:

Parameter Beschreibung
MsixPackage Das MSIX-Paketobjekt, das zu einem App Attach-Objekt migriert werden soll. Dieser Wert kann über die Pipeline übergeben werden.
PermissionSource Die Quelle, aus der Berechtigungen für das neue App Attach-Objekt abgerufen werden sollen. Standardmäßig werden keine Berechtigungen gewährt. Die Optionen sind:
  • DAG: die Desktopanwendungsgruppe, die dem Hostpool und dem MSIX-Paket zugeordnet sind
  • RAG: eine oder mehrere RemoteApp-Anwendungsgruppen, die dem Hostpool und dem MSIX-Paket zugeordnet sind
Beide Optionen erteilen allen Benutzern und Gruppen sämtliche Berechtigungen, die speziell auf die Anwendungsgruppe begrenzt sind.
HostPoolsForNewPackage Ressourcen-IDs von Hostpools, die dem neuen App Attach-Objekt zugeordnet werden sollen. Standardmäßig sind keine Hostpools festgelegt. Hostpools müssen sich am selben Speicherort wie die App Attach-Pakete befinden, denen sie zugeordnet sind.
TargetResourceGroupName Die Ressourcengruppe, in der das neue App Attach-Objekt gespeichert werden soll. Standardmäßig wird die Ressourcengruppe des Hostpools verwendet, dem das MSIX-Paket zugeordnet ist.
Location Die Azure-Region, in der das neue App Attach-Objekt erstellt werden soll. Standardmäßig wird der Speicherort des Hostpools verwendet, dem das MSIX-Paket zugeordnet ist. App Attach-Pakete müssen sich am selben Speicherort wie der Hostpool befinden, dem sie zugeordnet sind.
DeleteOrigin Löscht das MSIX-Quellpaket nach der Migration.
IsActive Aktiviert das neue App Attach-Objekt.
DeactivateOrigin Deaktiviert das MSIX-Quellpaketobjekt nach der Migration.
PassThru Übergibt das neue App Attach-Objekt. Passthru gibt das Objekt für das erstellte Paket zurück. Verwenden Sie diesen Wert, wenn Sie das Objekt überprüfen oder an einen anderen PowerShell-Befehl übergeben möchten.
LogInJSON Schreibt in die Protokolldatei im JSON-Format.
LogFilePath Der Pfad der Protokolldatei ist standardmäßig auf MsixMigration[Timestamp].log in einem temporären Ordner festgelegt, z. B. C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. Der Pfad für die Protokollierung wird beim Ausführen des Skripts in die Konsole geschrieben.

Herunterladen und Ausführen des Migrationsskripts

Im Folgenden wird beschrieben, wie Sie MSIX-Pakete vom MSIX-Feature zum Anfügen von Apps zu App Attach migrieren.

Wichtig

In den folgenden Beispielen müssen Sie die <placeholder>-Werte durch Ihre eigenen Werte ersetzen.

  1. Öffnen Sie eine PowerShell-Eingabeaufforderung auf Ihrem lokalen Gerät.

  2. Laden Sie das PowerShell-Skript Migrate-MsixPackagesToAppAttach.ps1 herunter, und entsperren Sie es, indem Sie die folgenden Befehle ausführen:

    $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. Importieren Sie die erforderlichen Module, indem Sie die folgenden Befehle ausführen:

    Import-Module Az.DesktopVirtualization
    Import-Module Az.Accounts
    Import-Module Az.Resources
    Import-Module Microsoft.Graph.Authentication
    
  4. Stellen Sie eine Verbindung mit Azure her, indem Sie den folgenden Befehl ausführen und den Eingabeaufforderungen folgen, um sich bei Ihrem Azure-Konto anzumelden:

    Connect-AzAccount
    
  5. Stellen Sie eine Verbindung mit Microsoft Graph her, indem Sie den folgenden Befehl ausführen:

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

In den folgenden Unterabschnitten finden Sie einige Beispiele für die Verwendung des Migrationsskripts. Alle verfügbaren Parameter und eine Beschreibung der einzelnen Parameter finden Sie im Abschnitt Parameter.

Tipp

Wenn Sie keine Parameter an das Migrationsskript übergeben, weist es das folgende Standardverhalten auf:

  • Dem neuen App Attach-Paket werden keine Berechtigungen gewährt.
  • Das neue App Attach-Paket wird keinem Hostpool zugeordnet und ist inaktiv.
  • Das neue App Attach-Paket wird in derselben Ressourcengruppe und am selben Speicherort wie der Hostpool erstellt.
  • Das ursprüngliche MSIX-Paket ist weiterhin aktiv (es wird nicht deaktiviert oder gelöscht).
  • Protokollinformationen werden in den Standarddateipfad geschrieben.

Migrieren eines bestimmten MSIX-Pakets, das einem Hostpool und einer Anwendungsgruppe hinzugefügt wurde

Das folgende Beispiel veranschaulicht, wie Sie ein bestimmtes MSIX-Paket, das einem Hostpool hinzugefügt wurde, vom MSIX-Feature zum Anfügen von Apps zu App Attach migrieren. Dieses Beispiel:

  • Das MSIX-Paket wird zur selben Ressourcengruppe und zum selben Speicherort wie der Hostpool migriert.
  • Das MSIX-Paket wird in App Attach demselben Hostpool und denselben Benutzern wie die RemoteApp-Anwendungsgruppenquelle zugewiesen.
  • Die vorhandene MSIX-Paketkonfiguration im MSIX-Feature zum Anfügen von Apps bleibt im Hostpool aktiv. Wenn Sie das MSIX-Paket sofort deaktivieren möchten, verwenden Sie den Parameter -DeactivateOrigin.
  • Die neue MSIX-Paketkonfiguration wird in App Attach auf Inaktiv festgelegt. Wenn Sie das MSIX-Paket sofort aktivieren möchten, verwenden Sie den Parameter -IsActive.
  • Protokollinformationen werden im Standardformat in den Standarddateipfad geschrieben.
  1. Rufen Sie an derselben PowerShell-Eingabeaufforderung eine Liste der MSIX-Pakete ab, die einem Hostpool hinzugefügt wurden, indem Sie die folgenden Befehle ausführen:

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

    Die Ausgabe sieht in etwa wie das folgende Beispiel aus:

    DisplayName Name
    ----------- ----
    MyApp       hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
    
  2. Suchen Sie nach dem MSIX-Paket, das Sie migrieren möchten, und verwenden Sie den Wert aus dem Name-Parameter in der vorherigen Ausgabe:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>'
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id
    
  3. Migrieren Sie das MSIX-Paket, indem Sie die folgenden Befehle ausführen:

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

Migrieren aller MSIX-Pakete, die einem Hostpool hinzugefügt wurden

Das folgende Beispiel veranschaulicht, wie Sie alle MSIX-Pakete, die einem Hostpool hinzugefügt wurden, vom MSIX-Feature zum Anfügen von Apps zu App Attach migrieren. Dieses Beispiel:

  • MSIX-Pakete werden zur selben Ressourcengruppe und zum selben Speicherort migriert.
  • Die neuen App Attach-Pakete werden demselben Hostpool hinzugefügt.
  • Alle App Attach-Pakete werden auf „Aktiv“ festgelegt.
  • Alle MSIX-Pakete werden auf „Inaktiv“ festgelegt.
  • Berechtigungen werden aus der zugeordneten Desktopanwendungsgruppe kopiert.
  • Protokollinformationen werden im JSON-Format in einen benutzerdefinierten Dateipfad unter C:\MsixToAppAttach.log geschrieben.
  1. Rufen Sie an derselben PowerShell-Eingabeaufforderung alle MSIX-Pakete ab, die einem Hostpool hinzugefügt wurden, und speichern Sie sie in einer Variablen, indem Sie die folgenden Befehle ausführen:

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackages = Get-AzWvdMsixPackage @parameters
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id   
    
  2. Migrieren Sie das MSIX-Paket, indem Sie die folgenden Befehle ausführen:

    $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