Migrer des packages MSIX de l’attachement d’applications MSIX vers l’attachement d’applications
App Attach améliore les expériences administratives et utilisateur par rapport à App Attach 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 :
|
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.
Ouvrez une invite PowerShell sur votre appareil local.
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
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
Connectez-vous à Azure en exécutant la commande suivante et suivez les invites pour vous connecter à votre compte Azure :
Connect-AzAccount
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.
À 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
Le résultat ressemble à l’exemple suivant :
DisplayName Name ----------- ---- MyApp hp01/MyApp_1.0.0.0_neutral__abcdef123ghij
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
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.
À 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
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