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:
|
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.
Öffnen Sie eine PowerShell-Eingabeaufforderung auf Ihrem lokalen Gerät.
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
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
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
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.
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
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
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.
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
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