Fiche technique AppliDis
Outil de virtualisation des informations au niveau d’une application
Fiche IS00194 Version document : 1.06
Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de Systancia ou des membres du programmes Partenaires AppliDis.
Objet du document Ce document présente la marche à suivre pour virtualiser le hostname récupéré par une application ainsi que ses accès à la base de registre. L’objectif de cet outil est de pouvoir fournir à l’application un hostname différent de celui du serveur où elle s’exécute grâce à la virtualisation réalisé par par l’outil. Ceci peut être utile lorsque l’application se sert de l’information pour faire des traitements en fonction de cet élément. Dans un environnement TSE, cela permet de fournir comme hostname le nom du poste où s’effectue la connexion RDP et d’autre part de permettre de dématérialiser les accès vers des configurations pouvant être stockées en base de registre pour qu’un programme dispose d’une configuration différente sur un serveur sans adaptation de celui-ci.
Fiche IS00194 Virtualisation du hostname
1 Introduction Il existe plusieurs méthodes pour que les applications récupèrent le hostname au travers de l’API Microsoft. -
GetComputerName GetComputerNameEx GetHostName …
L’outil « AdisTlsVirtSoftware.exe» permet de virtualiser les appels effectués par l’application cible pour qu’elle voit une autre information configurable ; nous utiliserons dans cette fiche une application exemple « SampleProgComputerName.exe » comme application cible à virtualiser pour la partie « HostName ». Elle gére également la virtualisation des appels effectués par l’applications cible vers la base de registre pour qu’elle voit d’autres informations configurables ; nous utiliserons dans cette fiche une applications exemple « SampleProgRegistryValue.exe » comme application cible à virtualiser pour la partie « Registre ».
2 Package Le package contient les deux éléments correspondant à l’outil (AdisDllVirtSoftware.dll et AdisTlsVirtSoftware.exe) et le programme d’exemple dans le répertoire « Samples ».
Figure 1 - Contenu du package Pour la mise en place, il suffit de copier les deux fichiers AdisDllVirtHost.dll et AdisInjectorVirtHost.exe dans le répertoire de votre application à virtualiser au niveau du HostName.
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 2/10
Fiche IS00194 Virtualisation du hostname
3 Exemple d’application affichant le HostName Dans le package se trouve un petit exemple permettant de récupérer le hostname avec trois méthodes différentes. Lancez l’application exemple « SampleProgComputerName.exe ». Vous obtiendrez le résultat suivant en cliquant sur les différentes méthodes. Dans notre capture d’écran l’application exemple est exécutée sur le serveur T814. Cette application d’exemple vous permet de tester l’outil de virtualisation et son paramétrage.
Figure 2 – IHM de l’application exemple de test
4 Paramétrage de l’outil pour virtualiser le HostName Déposer les deux fichiers suivants dans le répertoire où se trouve l’application dont vous voulez virtualiser le Hostname ; dans notre cas nous effectuerons cela sur l’application d’exemple « SampleProgComputerName.exe » : -
AdisTlsVirtSoftware.exe AdisDllVirtSoftware.dll
Sur le serveur où est exécuté l’application précédente (T814 dans notre exemple) ouvrez une commande dos, puis lancez l’application AdisTlsVirtSoftware.exe avec le paramètre /Display permettant l’affichage de la boite de configuration de l’outil comme indiqué sur la figure 3.
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 3/10
Fiche IS00194 Virtualisation du hostname
Figure 3 - Commande d'exécution de la configuration Après exécution de la ligne tapée dans le CMD, la fenêtre de configuration de l’outil de virtualisation des logiciels apparaît comme indiqué sur la figure 4.
Figure 4 – Interface de configuration de l’outil
Saisissez l’ensemble des paramètres suivants : -
-
Dans le champ « Program », cherchez l’application qui doit être virtualisé au niveau du HostName via le bouton de recherche ; dans notre exemple, ce sera le programme « SampleProgComputerName.exe ». Dans le champ « Dll », cherchez la Dll AdisDllVirtSoftware.dll via le bouton de recherche. Cochez toutes les cases sauf « Log Activation ». Dans la zone de texte « Changing », saisissez ce que le programme cible va recevoir lorsqu’il demandera le hostname. Vous pouvez y positionner des variables d’environnement ou une valeur en dur.
Rappel : En environnement TSE la variable d’environnement %ClientName% remonte IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 4/10
Fiche IS00194 Virtualisation du hostname le nom du poste client. Cliquez sur le bouton « Save » pour sauvegarder la configuration. Un fichier AdisVirtHost.ini est alors généré dans le même répertoire avec vos paramètres. Vous disposez aussi d’un mode Trace, activable en cochant la case « Log Activation ». L’outil va vous tracer tous les appels effectués par le programme cible lorsqu’il demande le HostName.
5 Exécution de l’exemple pour virtualiser le HostName Exécutez l’application AdisTlsVirtSoftware.exe sans paramètre. Elle va lancer automatiquement le programme cible paramétré lors de votre configuration. Dans notre exemple « SampleProgComputerName.exe »
Figure 5 – Application cible virtualiser sur sa recherche du hostname L’application est toujours exécutée sur le serveur « T814 » mais nous lui avons virtualisé le hostname et maintenant lorsque elle demande l’information du hostname elle reçoit celui définit dans la variable d’environnement « %ClientName% ». Cette dernière correspondant au du poste client connecté, soit « PC03 » dans notre exemple, à la place du Hostname du serveur, qui était ici « T814 ».
6 Exemple d’application consultant des valeurs du registre Dans le package se trouve un petit exemple permettant d‘accéder au registre selon différentes méthodes.
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 5/10
Fiche IS00194 Virtualisation du hostname Lancez l’application exemple « SampleProgRegistryValue.exe » permettant de lire les clés de base de registre avec différentes méthodes. Dans notre capture d’écran l’application lit les valeurs de l’extension .txt présent sur le poste. Cette exemple vous permet de tester l’outil de virtualisation et son paramétrage. Les méthodes 1 permettent de lire une clé définie dans une section précisée avec différentes méthodes via les API Microsoft. Les méthodes 2 ne sont capables de lire que la clé « (par défaut ) » de la section de la base de registre.
Figure 6 – IHM de l’application exemple de test Nous avons pris comme exemple la section de la base de registre « HKEY_CLASSES_ROOT\.txt » car celle-ci est identique sur l’ensemble des OS Windows. La clé par défaut vaut toujours « txtfile » et PerceivedType à la valeur « text ».
Figure 7 – Les valeurs standard dans le registre pour la section « .txt »
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 6/10
Fiche IS00194 Virtualisation du hostname
7 Paramétrage de l’outil pour virtualiser la base de registre Déposer les deux fichiers suivants dans le répertoire où se trouve l’application dont vous voulez virtualiser l’accès à la base de registre ; dans notre cas, nous effectuons cela sur l’application d’exemple « SampleProgRegistryValue.exe » : -
AdisTlsVirtSoftware.exe AdisDllVirtSoftware.dll
Ouvrez une commande dos, puis lancez l’application AdisTlsVirtSoftware.exe avec le paramètre /Display permettant l’affichage de la boite de configuration de l’outil comme indiqué sur la figure 3.
Figure 8 - Commande d'exécution de la configuration Après exécution de la ligne taper dans le CMD, la fenêtre de configuration de l’outil de virtualisation des logiciels apparaît comme indiqué sur la figure 9.
Figure 9 – Interface de configuration de l’outil
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 7/10
Fiche IS00194 Virtualisation du hostname
Saisissez l’ensemble des paramètres suivants : -
-
Dans le champ « Program », cherchez l’application qui doit être virtualisée au niveau de l’accès à la base de registre via le bouton de recherche ; dans notre exemple, il s’agira du programme « SampleProgRegistryValue.exe ». Dans le champ « Dll », cherchez la Dll AdisDllVirtSoftware.dll via le bouton de recherche. Décochez toutes les cases et laissez vide le champs « Changing »
Cliquez sur le bouton « Save » pour sauvegarder la configuration. Allez sur l’onglet « Virtual Registry » comme sur la capture 10.
Figure 10 – Interface de configuration de l’outil Via cette onglet, nous allons configurer les clés que l’on souhaite virtualiser Dans notre exemple la clé « PerceivedType » renverra « VirtRemplace » au lieu de la valeur réel dans la base de registre qui est « text ». Nous ferons de même pour la valeur par défaut qui sera, non plus txtfile, mais VirtDefault. Cliquez sur le bouton « Save » pour sauvegarder la configuration. Un fichier AdisVirtHost.ini est alors généré dans le même répertoire avec vos paramètres. Vous disposez aussi d’un mode Trace activable en cochant la case « Activation log Registry ». L’outil va alors vous tracer tous les appels effectués par le programme cible lorsqu’il demande une lecture en base de registre des clés virtualisées.
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 8/10
Fiche IS00194 Virtualisation du hostname
8 Exécution de l’exemple pour virtualiser le registre Exécutez l’application AdisTlsVirtSoftware.exe sans paramètre. Il va lancer automatiquement le programme cible paramétré lors de configuration ; dans notre exemple, ce sera « SampleProgRegistryValue.exe »
votre
Figure 6 – Application cible virtualiser sur sa recherche du registre L’application est toujours exécutée sur le même poste mais nous lui avons virtualisé l’accès à la base de registre. Maintenant lorsqu’elle demande l’information sur la clé « PerceivedType » elle reçoit celle définie dans l’environnement virtualisé, à savoir « VirtRemplace», pouvant correspondre par exemple à un élément de configuration de l’application.
9 Conclusion L’outil « AdisTlsVirtSoftware.exe » permet de vous affranchir du paramétrage pouvant être stocké dans la base de registre et ainsi de dédier plusieurs environnements différents pour une applications sur le même serveur en plus de la virtualisation du Hostname.
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 9/10
Fiche IS00194 Virtualisation du hostname
Références Mots clés : AppliDis, Tools Référence : Virtualisation Date de création : 25/08/2009 Dernière révision : 25/08/2009 Pour tout commentaire sur cette fiche, merci d’envoyer un mail à
[email protected] en précisant le numéro de la fiche et votre commentaire
Copyright © Systancia 2009 – Tous droits réservés Les informations fournies dans le présent document sont fournies à titre d’information, et de ce fait ne font l’objet d’aucun engagement de la part de Systancia. Ces informations peuvent être modifiées sans préavis de la part de Systancia. Ce document est à destination d’utilisateurs avertis, disposant de notions de base du système d’exploitation Windows Server de Microsoft. Systancia ne saurait être tenu pour responsable des erreurs de manipulation dans le cadre de l’utilisation de cette documentation. L’utilisation liée à ce document se fait sous votre entière responsabilité. Marques de sociétés tierces : toutes les autres marques, noms de produits et de sociétés précisés dans ce document sont cités à fins d’explications et sont la propriété de leurs détenteurs respectifs. A ce titre, notamment Microsoft, Windows, Windows 2000, Windows 2003, Windows 2008 Server sont des marques de Microsoft Corporation aux Etats-Unis et dans d’autres pays.
Systancia Actipolis 3, Bât C11 3, rue Paul Henri Spaak 68 390 SAUSHEIM France Téléphone : Fax : site web :
03 89 33 58 20 03 89 33 58 21 http://www.systancia.fr
IS00194-v1.07.doc Version de la fiche 1.06
25/08/2009 10/10