Créer un catalogue de machines d’images préparées dans Azure
Créez des images préparées et utilisez-les pour créer un catalogue de machines MCS à l’aide de :
Les étapes clés pour créer un catalogue de machines MCS à l’aide de l’image préparée sont les suivantes :
- Créez la définition d’image et les versions initiales de l’image.
- Utilisez la version de l’image comme image préparée pour créer un catalogue.
Utiliser Web Studio
Créer une définition d’image et une version initiale de l’image
Pour créer une définition d’image et la version initiale de l’image, procédez comme suit :
- Dans Web Studio, accédez au nœud Images, puis cliquez sur Créer une définition d’image. Cliquez sur Suivant sur la page Introduction.
- Sur la page Définition d’image, spécifiez le type de système d’exploitation et le type de session pour la définition d’image.
- Sélectionnez un groupe de ressources existant ou créez-en un nouveau pour héberger les ressources d’image. Pour activer le partage d’images, sélectionnez Placer les versions d’image dans Azure Compute Gallery, puis choisissez de créer une nouvelle galerie ou d’utiliser une galerie existante pour héberger ses versions d’image.
-
Sur la page Image, sélectionnez les Ressources (seules les ressources applicables à la connexion définie sont répertoriées) et une image principale à utiliser comme modèle pour créer la version de l’image. Vous pouvez cocher la case Utiliser un profil de machine et sélectionner un profil de machine.
Remarque :
- Avant de sélectionner une image, vérifiez que l’image principale a VDA 2311 ou une version ultérieure installée et que le pilote MCSIO est installé sur le VDA.
- Si vous souhaitez utiliser une image préparée de type VM confidentielle pour créer un catalogue MCS, créez une image préparée à l’aide de l’image principale de type VM confidentielle et d’un profil de machine de type VM confidentielle. Consultez Machines virtuelles confidentielles Azure pour plus d’informations sur la préparation des images principales et des profils de machine de type VM confidentielle.
-
Sur la page Types de stockage et de licences, sélectionnez le type de stockage et de licence à utiliser dans le cadre du processus de préparation de l’image.
Remarque :
Si vous sélectionnez un profil de machine sur la page Image, le type de licence du profil de machine est présélectionné en fonction du paramètre de profil.
- Sur la page Spécification de la machine, sélectionnez une taille de machine. Si vous sélectionnez un profil de machine sur la page Image, la taille de machine du profil de machine est sélectionnée par défaut.
- Sur la page Cartes réseau, sélectionnez ou ajoutez des cartes réseau pour l’image de préparation. Pour chaque carte réseau, sélectionnez un réseau virtuel associé.
- Sur la page Paramètres du disque, sélectionnez la clé de chiffrement gérée par le client (CMEK). Si le profil de machine n’a pas de CMEK mais que l’image principale en a une, la CMEK de l’image principale est présélectionnée.
- Sur la page Description de la version, entrez une description pour la version initiale de l’image créée.
- Sur la page Résumé, vérifiez les détails de la définition d’image et de la version initiale de l’image créée. Entrez un nom et une description pour la définition d’image. Cliquez sur Terminer.
Créer des versions d’image
Les versions d’image permettent de gérer différentes itérations ou mises à jour d’une image particulière. Cette fonctionnalité vous permet de conserver plusieurs versions d’une image à des fins différentes.
Pour créer des versions d’image à partir de la version initiale de l’image, procédez comme suit :
Remarque :
L’unité d’hébergement de toutes les versions d’image doit être la même.
- Accédez au nœud Images, sélectionnez une version d’image ou une définition d’image, puis cliquez sur Créer une version d’image.
- Sur la page de définition d’image, vous pouvez modifier l’unité d’hébergement et resélectionner l’image principale et le profil de machine pour cette version d’image.
- Si vous souhaitez que la configuration de la version d’image soit différente de la version d’image initiale configurée, configurez les paramètres sur les pages Types de stockage et de licences, Spécification de la machine, Cartes réseau et Paramètres du disque de la boîte de dialogue Créer une version d’image.
- Ajoutez une description pour la version de l’image. Cliquez sur Terminer.

Remarque :
Si la création de la version d’image échoue pour une raison quelconque, l’onglet Dépannage en bas fournit une option Réessayer.
Images préparées partagées
Pour partager des images préparées entre différentes unités d’hébergement pour Azure, suivez ces étapes :
- Cliquez avec le bouton droit sur une version d’image et sélectionnez Gérer le partage d’images. Toutes les unités d’hébergement de votre environnement Azure apparaissent. Les ressources à partir desquelles la version d’image est créée sont désactivées pour toute action.
- Sélectionnez les unités d’hébergement avec lesquelles vous souhaitez partager l’image et cliquez sur Enregistrer. La colonne État du partage affiche En cours.
- Cliquez sur l’onglet Ressources pour plus de détails sur l’état du partage.
Remarque :
Lorsque l’état du partage de la version d’image est en cours, l’option Supprimer la version d’image ou Gérer le partage d’images est désactivée.
Créer un catalogue de machines à partir du nœud Images
Utilisez l’option Créer un catalogue dans le nœud Images pour créer un catalogue à l’aide de la version d’image.
Vous pouvez également sélectionner la version lors de la création d’un catalogue dans le nœud Catalogues de machines, en la liant à l’option d’image préparée dans le flux de travail de création de catalogue. Voir Créer un catalogue de machines à partir du nœud Catalogues de machines
Pour créer un catalogue de machines MCS à partir du nœud Images, procédez comme suit :
- Sélectionnez une version d’image et cliquez sur Créer un catalogue. Cliquez sur Suivant sur la page Introduction.
- Sur la page Expérience de bureau, sélectionnez l’expérience de bureau requise.
- De la page Image à la page Paramètres de disque, les paramètres sont présélectionnés en fonction de la version d’image sélectionnée.
- Sur la page Groupe de ressources, vous pouvez choisir de créer un nouveau groupe de ressources ou d’utiliser un groupe de ressources existant pour placer les ressources de ce catalogue.
- Remplissez les paramètres sur les pages suivantes.
- Sur la page Résumé, vérifiez les détails du catalogue de machines. Saisissez un nom et une description pour le catalogue de machines. Cliquez sur Terminer.
- Accédez au nœud Catalogues de machines pour voir le catalogue de machines créé.
Créer un catalogue de machines à partir du nœud Catalogues de machines
Pour créer un catalogue de machines MCS à partir du nœud Catalogues de machines, procédez comme suit :
- Cliquez sur Catalogues de machines dans le volet de navigation de gauche.
- Cliquez sur Créer un catalogue de machines. La page Configuration du catalogue de machines apparaît. Cliquez sur Suivant pour passer les pages Introduction, Type de machine et Gestion des machines.
- Sur la page Gestion des machines, sélectionnez les paramètres suivants :
- Sélectionnez Machines gérées par l’alimentation (par exemple, machines virtuelles ou PC lames).
- Sélectionnez Technologie de provisioning Citrix. Ensuite, sélectionnez Citrix Machine Creation Services™.
- Dans le champ Ressources, les ressources appartenant à différentes zones sont répertoriées. Sélectionnez n’importe quelle ressource réseau Azure et cliquez sur Suivant.
- Sur la page Image : Pour le type d’image principale, suivez les étapes :
- Sélectionnez Image principale.
- Sous l’image principale, sélectionnez une image. Le panneau répertorie toutes les images qui appartiennent à la même région que celles des Ressources.
- Cliquez sur Terminé.
- Pour le type d’image préparée, sélectionnez Image préparée.
- Sous l’Image préparée, sélectionnez une version d’image d’une définition d’image. Si nécessaire, ajoutez une note pour la version d’image préparée sélectionnée.
- Cliquez sur le nom de la version d’image. Pour afficher plus de détails sur la version d’image sélectionnée, cliquez sur le numéro de version, qui est souligné.
- Si la version d’image sélectionnée est configurée avec un profil de machine, sélectionnez un profil de machine. Si la version d’image sélectionnée n’est pas configurée avec un profil de machine, vous ne pouvez pas choisir d’utiliser un profil de machine.
- Configurez les paramètres sur les pages suivantes.
- Sur la page Paramètres de disque, si l’image préparée sélectionnée utilise un ensemble de chiffrement de disque, vous ne pouvez pas supprimer l’ensemble de chiffrement, mais vous pouvez modifier la clé pour une autre clé de chiffrement.
- Sur la page Groupe de ressources, vous pouvez choisir de créer un nouveau groupe de ressources ou d’utiliser un groupe de ressources existant pour placer les ressources de ce catalogue.
- Remplissez les paramètres sur les pages suivantes.
- Sur la page Résumé, vérifiez les détails du catalogue de machines. Saisissez un nom et une description pour le catalogue de machines. Cliquez sur Terminer.
Utiliser PowerShell
Créer une image préparée
Les commandes PowerShell détaillées pour créer une spécification de version d’image préparée sont les suivantes :
-
Vérifiez les noms de définition d’image disponibles à l’aide de la commande
Test-ProvImageDefinitionNameAvailable. Par exemple,Test-ProvImageDefinitionNameAvailable -ImageDefinitionName <string[]> <!--NeedCopy--> -
Créez une définition d’image à l’aide de la commande
New-ProvImageDefinition. Par exemple,New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession <!--NeedCopy--> -
Créez une nouvelle configuration pour la définition d’image dans la connexion d’hébergement spécifiée à l’aide de la commande
Add-ProvImageDefinitionConnection.Les
CustomPropertiespourAdd-ProvImageDefinitionConnectionpeuvent inclure les éléments suivants. Si vous n’utilisez pas les paramètres, les valeurs par défaut sont utilisées.-
ResourceGroups: Le groupe de ressources qui contient les disques de base. -
UseSharedImageGallery: Indicateur du type de disques de base. Utiliseztruepour ACG (partage d’images) etfalsepour les instantanés. -
ImageGallery: Le nom de la galerie lorsque le disque de base est une version d’image ACG.
Par exemple,
-
-
Dans le cas d’un instantané et d’un groupe de ressources fourni par le client :
``` $CustomerOwnRsourceGroupProperties = @" <CustomProperties xmlns="http:// schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="yangj_image" /> </CustomProperties> "@ <!--NeedCopy--> ``` -
Dans le cas d’un ACG et d’un groupe de ressources et d’une galerie d’images fournis par le client :
``` $CustomerOwnAllProperties = @" <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" /> <Property xsi:type="StringProperty" Name="ImageGallery" Value="gallery" /> </CustomProperties> "@ <!--NeedCopy--> ``` - In case of ACG and customer provided resource group only: ``` $CustomerOwnResourceGroupProperties = @" <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /> <Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" /> </CustomProperties> "@ <!--NeedCopy--> ```-
In case of ACG and resource group and image gallery managed by Citrix:
$CustomerOwnResourceGroupNothingProperties = @" <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /> </CustomProperties> "@ <!--NeedCopy-->
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName Azure28 [-CustomProperties $CustomProperties] <!--NeedCopy--> -
-
Create an image version using the
New-ProvImageVersioncommand. For example,New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1" <!--NeedCopy--> -
Add a master image version spec to the image version using the
Add-ProvImageVersionSpeccommand. For example,Add-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -HostingUnitName azure -MasterImagePath "XDHyp:\HostingUnits\azure\image.folder\azureresourcegroup.resourcegroup\win2022-snapshot.snapshot" <!--NeedCopy-->Note:
You can add only one master image version spec to one image version for a hosting unit.
-
Create a prepared image version spec from the master image version spec using the
New-ProvImageVersionSpeccommand. For example,New-ProvImageVersionSpec -SourceImageVersionSpecUid c6e7384c-b2f8-46d6-9519-29a2c57ed3cb -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure\virtualprivatecloud.folder\azureresourcegroup.resourcegroup\azure-vnet-eastus.virtualprivatecloud\dev.network"} -ServiceOffering"XDHyp:\HostingUnits\azure\serviceoffering.folder\Standard_B2ms.serviceoffering" -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"></CustomProperties>" -RunAsynchronously <!--NeedCopy--> -
You can also share a prepared image version spec with another hosting unit in all hosting connections by using the
Add-ProvImageVersionSpecHostingUnitcommand. For example,Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName AzureWest <!--NeedCopy-->Note:
One hosting unit and preparation type can have only one prepared instance.
Example of the complete set of Powershell commands to create image definition, image version, and prepared image version spec:
New-ProvImageDefinition -ImageDefinitionName image1 -OsType Windows -VdaSessionSupport MultiSession
$CustomProperties = @"
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="ResourceGroups" Value="rg" />
<Property xsi:type="StringProperty" Name="ImageGallery" Value="gallery" />
</CustomProperties>
"@
Add-ProvImageDefinitionConnection -ImageDefinitionName image1 -HypervisorConnectionName Azure28 -CustomProperties $CustomProperties
$imageVersion = New-ProvImageVersion -ImageDefinitionName image1 -Description "version 1"
$SourceImageVersionSpec = Add-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-MasterImagePath "XDHyp:\HostingUnits\azure28\image.folder\abc.resourcegroup\def-snapshot.snapshot"
New-ProvImageVersionSpec -NetworkMapping @{"0" = "XDHyp:\HostingUnits\azure28\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\studio-mcs-infrastructure.resourcegroup\studio-mcs-vnet-eastus.virtualprivatecloud\mcs-dev.network" } -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"><Property xsi:type=`"StringProperty`" Name=`"LicenseType`" Value=`"Windows_Server`" /></CustomProperties>" -ServiceOffering "XDHyp:\HostingUnits\azure28\serviceoffering.folder\Standard_B2s.serviceoffering" -SourceImageVersionSpecUid $SourceImageVersionSpec.ImageVersionSpecUid
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid xxxxxxx -HostingUnitName AzureWest
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageVersionUid $imageVersion.ImageVersionUid | Where SourceImageVersionSpecUid-eq $SourceImageVersionSpec.ImageVersionSpecUid
<!--NeedCopy-->
Note:
- All image version specs in an image definition must belong to the same hosting unit.
- An image version can have only one master image version spec and one prepared image version spec.
- All image version specs must either have a machine profile or none of the image version specs must have a machine profile.
Create a catalog using a prepared image version spec
Create an MCS machine catalog from the prepared image version spec using the New-ProvScheme command. For example,
New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -IdentityPoolUid <Guid> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>][-ImageAssignmentNote <string>]
<!--NeedCopy-->
Or,
New-ProvScheme -ProvisioningSchemeName <string> -ImageVersionSpecUid <Guid> -HostingUnitName <string> -IdentityPoolName <string> [-VMCpuCount <int>] [-VMMemoryMB <int>] [-UseWriteBackCache] [-NetworkMapping <Hashtable>] [-CleanOnBoot] [-Scope <string[]>] [-Metadata <Hashtable>] [-ServiceOffering <string>] [-SecurityGroup <string[]>] [-TenancyType <string>] [-MachineProfile <string>] [-CustomProperties <string>] [-ResetAdministratorPasswords] [-UseFullDiskCloneProvisioning] [-RunAsynchronously] [-PurgeJobOnSuccess] [-ProvisioningSchemeType <ProvisioningSchemeType>][-ImageAssignmentNote <string>]
<!--NeedCopy-->
If you want to use an ACG image version spec, then set UseSharedImageGallery as true. For example,
$provSchemeCustomProperties= @"
<CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" />
<Property xsi:type="StringProperty" Name="StorageAccountType" Value="StandardSSD_LRS" />
</CustomProperties>
"@
New-ProvScheme -ProvisioningSchemeName assignimage -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid `
-HostingUnitUid $hostingunit.HostingUnitUid `
-IdentityPoolUid $IdentityPool.IdentityPoolUid `
-CleanOnBoot -Scope @() -SecurityGroup @() `
-ServiceOffering "XDHyp:\HostingUnits\azure28\serviceoffering.folder\Standard_B2s.serviceoffering" `
-NetworkMapping @{"0"="XDHyp:\HostingUnits\azure28\virtualprivatecloud.folder\East US.region\virtualprivatecloud.folder\studio-mcs-infrastructure.resourcegroup\studio-mcs-vnet-eastus.virtualprivatecloud\mcs-dev.network"} `
-CustomProperties $provSchemeCustomProperties
<!--NeedCopy-->
Example of the complete set of Powershell commands to create a catalog:
$Catalog = New-BrokerCatalog -AllocationType "Random" -IsRemotePC $False -MinimumFunctionalLevel "L7_20" -Name "azurecatalog" -PersistUserChanges "Discard" -ProvisioningType "MCS" -Scope @() -SessionSupport "MultiSession"
$IdentityPool = New-AcctIdentityPool -AllowUnicode -Domain "azure.local" -IdentityPoolName "azurecatalog" -IdentityType "ActiveDirectory" -NamingScheme "azure##" -NamingSchemeType "Numeric" -Scope @()
$PreparedImageVersionSpec = Get-ProvImageVersionSpec -ImageDefinitionName image1 -ImageVersionNumber 1 -Filter "PreparationType -eq 'Mcs'"
$Task = New-ProvScheme -ProvisioningSchemeName azurecatalog -ImageVersionSpecUid $PreparedImageVersionSpec.ImageVersionSpecUid -HostingUnitName azure -IdentityPoolName azurecatalog -CleanOnBoot -Scope @() -SecurityGroup @() -ServiceOffering "XDHyp:\HostingUnits\azure\serviceoffering.folder\Standard_B2s.serviceoffering" -NetworkMapping @{"0"="XDHyp:\HostingUnits\azure\virtualprivatecloud.folder\azureresourcegroup.resourcegroup\azure-vnet-eastus.virtualprivatecloud\dev.network"} -CustomProperties "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`"> <Property xsi:type="StringProperty" Name="UseSharedImageGallery" Value="true" /><Property xsi:type=`"StringProperty`" Name=`"StorageAccountType`" Value=`"StandardSSD_LRS`" /></CustomProperties>" -RunAsynchronously
Get-ProvTask -TaskId $Task.TaskId
$ProvScheme = Get-ProvScheme -ProvisioningSchemeName azurecatalog
<!--NeedCopy-->
```powershell
Set-BrokerCatalog -Name $Catalog.Name -ProvisioningSchemeId $ProvScheme.ProvisioningSchemeUid
$CustomProperties = "<CustomProperties xmlns=`"http://schemas.citrix.com/2014/xd/machinecreation`" xmlns:xsi=`"http://www.w3.org/2001/XMLSchema-instance`">"
"<Property xsi:type=`"StringProperty`" Name=`"DiskEncryptionSetId`" Value=`"/subscriptions/xxxxxx-7152-46c4-b061-xxxxxx70c/resourceGroups/resourcegroup1/providers/Microsoft.Compute/diskEncryptionSets/desid1`" />"+
"</CustomProperties>"
Add-ProvImageVersionSpecHostingUnit -ImageVersionSpecUid <Guid> -HostingUnitUid <Guid> -CustomProperties $CustomProperties