Pour que les utilisateurs aient exactement le même environnement quelque soit le bureau virtuel sur lequel ils sont envoyés lors de leur connexion à un pool de bureaux virtuels, il est absolument impératif que l’ensemble des machines virtuelles composant le pool soit configuré de façon totalement homogène.
Cependant, les utilisateurs qui se connectent vont potentiellement être amenés à effectuer des modifications sur ces bureaux virtuels. Cela pose un problème simple mais crucial: comment faire en sorte que les modifications apportées par l’utilisateur soient automatiquement annulées lorsque celui-ci se déconnecte de la machine virtuelle et ce afin que l’utilisateur suivant ne voie pas de différence.
Heureusement, Microsoft y a pensé, et nous allons utiliser les fonctionnalités de “snapshots” d’Hyper-V pour y arriver.
Aussi, il sera nécessaire de mettre en place une politique de virtualisation de l’état utilisateur, qui passe par plusieurs technologies Microsoft comme les profils itinérants et la redirection de dossiers mais j’y reviendrai dans un billet dédié.
Mise en oeuvre
Une fois que vos machines virtuelles sont prêtes et dans l’état que vous souhaitez fournir aux utilisateurs, fermez la session en cours.
Maintenant il suffit créer un snapshot sur la machine virtuelle souhaitée: il faudra répéter cette opération sur tous les bureaux virtuels appartenant au même pool.
Pour cela, il suffit de sélectionner la machine virtuelle dans la console Hyper-V, de faire un clic-droit sur celle-ci puis, puis de cliquer sur Snapshot. Après quelques instants, le snapshot est créé et apparaît dans la partie basse de la console Hyper-V lorsque la machine est sélectionnée.
Il ne reste plus qu’à renommer le snapshot pour intégrer dans le nom le texte “RDV_Rollback” (sans les guillemets).

A partir de maintenant, dès qu’un utilisateur fermera sa session sur ce bureau virtuel, la machine virtuelle reviendra automatiquement à l’état enregistré dans le snapshot et toutes les modifications apportées par l’utilisateur seront annulées.
Il ne vous reste plus qu’à répéter ces opérations sur toutes les machines virtuelles constituant le même pool, en vous assurant que l’état des machines virtuelles soit identique au moment du snapshot. Cela permettra de fournir un état consistant à l’utilisateur quelque soit le bureau virtuel sur lequel il sera connecté.