Partage via


Migrer des packages MSIX de l’attachement d’applications MSIX vers l’attachement d’applications

Important

L’attachement d’application est actuellement en PRÉVERSION. Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

L’attachement d’applications (préversion) améliore les expériences d’administration et l’expérience utilisateur sur l’attachement d’applications MSIX. Si vous utilisez l’attachement d’applications MSIX, vous pouvez migrer vos packages MSIX vers l’attachement d’applications en utilisant un script PowerShell.

Le script de migration peut effectuer les actions suivantes :

  • Crée un objet de package d’attachement d’applications et peut si nécessaire supprimer l’objet de package MSIX d’origine.

  • Copiez les autorisations des groupes d’applications associés au pool d’hôtes et au package MSIX.

  • Copiez l’emplacement et le groupe de ressources du pool d’hôtes et du package MSIX.

  • Journalisez l’activité de migration.

Prérequis

Pour utiliser le script de migration, vous avez besoin des éléments suivants :

  • Un pool d’hôtes configuré en tant qu’environnement de validation, avec au moins un package MSIX ajouté avec l’attachement d’applications MSIX.

  • Un compte Azure avec le rôle de contrôle d’accès en fonction du rôle (RBAC) Azure Contributeur de virtualisation des services Bureau attribué au pool d’hôtes.

  • Un appareil local avec PowerShell. Vérifiez que les dernières versions de Az PowerShell et du Kit de développement logiciel (SDK) Microsoft Graph PowerShell sont installées. Plus précisément, les modules suivants sont requis :

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

Paramètres

Voici les paramètres que vous pouvez utiliser avec le script de migration :

Paramètre Description
MsixPackage L’objet de package MSIX à migrer vers un objet d’attachement d’applications. Cette valeur peut être passée via un pipeline.
PermissionSource Où obtenir des autorisations pour le nouvel objet d’attachement d’applications. Par défaut, aucune autorisation n’est accordée. Les options sont :
  • DAG : le groupe d’applications de bureau associés au pool d’hôtes et au package MSIX
  • RAG : un ou plusieurs groupes d’applications RemoteApp associés au pool d’hôtes et au package MSIX
Les deux options accordent l’autorisation à tous les utilisateurs et groupes disposant d’une autorisation spécifiquement délimitée au groupe d’applications.
HostPoolsForNewPackage Les ID de ressource des pools d’hôtes à associer au nouvel objet d’attachement d’applications. Par défaut, pas de pools d’hôtes. Les pools d’hôtes doivent se trouver dans le même emplacement que les packages d’attachement d’applications auxquels ils sont associés.
TargetResourceGroupName Groupe de ressources pour stocker le nouvel objet d’attachement d’applications. Par défaut, le groupe de ressources du pool d’hôtes auquel le package MSIX est associé.
Location Région Azure dans laquelle créer l’objet d’attachement d’applications. Par défaut, l’emplacement du pool d’hôtes auquel le package MSIX est associé. Les packages d’attachement d’applications doivent se trouver dans le même emplacement que le pool d’hôtes auquel ils sont associés.
DeleteOrigin Supprimez le package MSIX source après la migration.
IsActive Active le nouvel objet d’attachement d’applications.
DeactivateOrigin Désactive l’objet de package MSIX source après la migration.
PassThru Passe un nouvel objet d’attachement d’applications. Passthru retourne l’objet pour le package créé. Utilisez cette valeur si vous voulez l’inspecter ou la passer à une autre commande PowerShell.
LogInJSON Écrivez dans le fichier journal au format JSON.
LogFilePath Chemin d’accès du fichier journal, par défaut MsixMigration[Timestamp].log dans un dossier temporaire, comme C:\Users\%USERNAME%\AppData\Local\Temp\MsixMigration<DATETIME>.log. Le chemin d’accès pour la journalisation est écrit sur la console lors de l’exécution du script.

Télécharger et exécuter le script de migration

Voici comment migrer des packages MSIX de l’attachement d’applications MSIX vers l’attachement d’applications.

Important

Dans les exemples suivants, vous devez remplacer les valeurs <placeholder> par les vôtres.

  1. Ouvrez une invite PowerShell sur votre appareil local.

  2. Téléchargez le script PowerShell Migrate-MsixPackagesToAppAttach.ps1 et débloquez-le en exécutant les commandes suivantes :

    $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. Importez les modules requis en exécutant les commandes suivantes :

    Import-Module Az.DesktopVirtualization
    Import-Module Az.Accounts
    Import-Module Az.Resources
    Import-Module Microsoft.Graph.Authentication
    
  4. Connectez-vous à Azure en exécutant la commande suivante et suivez les invites pour vous connecter à votre compte Azure :

    Connect-AzAccount
    
  5. Connectez-vous à Microsoft Graph en exécutant la commande suivante :

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

Les sous-sections suivantes contiennent des exemples d’utilisation du script de migration. Reportez-vous à la section Paramètres pour voir tous les paramètres disponibles et une description de chaque paramètre.

Conseil

Si vous ne passez aucun paramètre au script de migration, il a le comportement par défaut suivant :

  • Aucune autorisation n’est accordée au nouveau package d’attachement d’applications.
  • Le nouveau package d’attachement d’applications n’est associé à aucun pool d’hôtes et il est inactif.
  • Le nouveau package d’attachement d’applications est créé dans le même groupe de ressources et dans le même emplacement que le pool d’hôtes.
  • Le package MSIX d’origine est toujours actif : il n’est pas désactivé ni supprimé.
  • Les informations de journal sont écrites dans le chemin d’accès du fichier par défaut.

Migrer un package MSIX spécifique ajouté à un pool d’hôtes et à un groupe d’applications

Voici un exemple de migration d’un package MSIX spécifique ajouté à un pool d’hôtes de l’attachement d’applications MSIX vers l’attachement d’applications. Cet exemple :

  • Migre le package MSIX vers le même groupe de ressources et le même emplacement que le pool d’hôtes.
  • Affecte le package MSIX dans l’attachement d’applications au même pool d’hôtes et aux mêmes utilisateurs que la source du groupe d’applications RemoteApp.
  • Laisse la configuration de package MSIX existante dans l’attachement d’applications MSIX actif sur le pool d’hôtes. Si vous voulez désactiver immédiatement le package MSIX, utilisez le paramètre -DeactivateOrigin.
  • Définit la nouvelle configuration de package MSIX dans l’attachement d’applications comme étant inactive. Si vous voulez activer immédiatement le package MSIX, utilisez le paramètre -IsActive.
  • Écrit les informations de journal dans le chemin d’accès et le format de fichier par défaut.
  1. À partir de la même invite PowerShell, obtenez la liste des packages MSIX ajoutés à un pool d’hôtes en exécutant les commandes suivantes :

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

    La sortie est similaire à celle-ci :

    DisplayName Name
    ----------- ----
    MyApp       hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
    
  2. Recherchez le package MSIX que vous souhaitez migrer et utilisez la valeur du paramètre Name dans la sortie précédente :

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackage = Get-AzWvdMsixPackage @parameters | ? Name -Match '<MSIXPackageName>'
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id
    
  3. Migrez le package MSIX en exécutant les commandes suivantes :

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

Migrer tous les packages MSIX ajoutés à un pool d’hôtes

Voici un exemple de migration de tous les packages MSIX ajoutés à un pool d’hôtes de l’attachement d’applications MSIX vers l’attachement d’applications. Cet exemple :

  • Migre les packages MSIX vers le même groupe de ressources et le même emplacement.
  • Ajoute les nouveaux packages d’attachement d’applications au même pool d’hôtes.
  • Définit tous les packages d’attachement d’applications sur Actif.
  • Définit tous les packages MSIX sur Inactifs.
  • Copie les autorisations du groupe d’applications de bureau associé.
  • Écrit des informations de journal dans un chemin d’accès de fichier personnalisé C:\MsixToAppAttach.log au format JSON.
  1. À partir de la même invite PowerShell, obtenez tous les packages MSIX ajoutés à un pool d’hôtes et stockez-les dans une variable en exécutant les commandes suivantes :

    $parameters = @{
        HostPoolName = '<HostPoolName>'
        ResourceGroupName = '<ResourceGroupName>'
    }
    
    $msixPackages = Get-AzWvdMsixPackage @parameters
    $hostPoolId = (Get-AzWvdHostPool @parameters).Id   
    
  2. Migrez le package MSIX en exécutant les commandes suivantes :

    $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