Extraer ClientAddress y ClientName en Citrix XenApp
Es posible, que cuando realizas un desarrollo o por necesidad del negocio, te exijan disponer de un dato como la IP desde la que se conecta un usuario o el nombre del equipo desde donde se conecta. Un ejemplo de esto, es por ejemplo, un perfil móvil que lanza una sesión en un equipo fijo y a los pocos minutos tiene que lanzarlo en otro lugar (por ejemplo, un dispositivo móvil).
Pues bien, llevo un tiempo analizando los procesos que intervienen en el logon de una sesión Citrix, así que hoy os quiero contar donde podéis encontrar un dato como el ClientName o la ClientAddress. Antes de nada os dejo un par de enlaces oficiales para las versiones 6.5 y 7.x de XenApp:
Aunque en los foros oficiales existen formas de extraer esos datos, yo quiero mostrarlos otras. Os dejo también el enlace:
https://www.citrix.com/blogs/2008/03/07/how-to-get-the-client-ip-address-or-hostname-of-a-citrix-session-or-terminal-services-session/
¿Entonces en qué vamos a fijarnos para extraer esos datos? Utilizaremos SessionState monitor (claves de registro) y los eventos del sistema.
En los eventos del sistema de los servidores de XenApp, se generan varios eventos que pueden ayudar en el desarrollo de una aplicación. En Registro de Windows –> Sistema –> Eventos 1004 y 1007
- EVENTO 1004: Muestra el arranque de la sesión y con la IP del equipo desde donde se conecta. Este evento se genera tantas veces como el usuario lance sesiones en diferentes equipos.
- EVENTO 1007: Muestra el closed, del evento anterior y la IP que se cierra.
Si vais al Studio podéis observar la IP de la sesión:
Cuando un usuario se loguea desde otro equipo, puede que el ID no cambie, pero sí el nombre y la ip del equipo, porque en principio es diferente:
Se genera otro evento 1004 con la nueva IP:
Y a su vez, seguido, se cierra la anterior conexión con un 1007:
Para relacionar las sesiones podéis optar por revisar los eventos Microsoft –> Windows –> Group Policy –> Operativo, donde podéis ver prácticamente toda la secuencia de logon y poder relacionar datos.
El registro de eventos sirve para la versión 7.x de Citrix XenApp. En las versiones 6.x, aparentemente no se registran de esa forma salvo que de error o warning.
Otro método que pueden utilizar los desarrolladores es mirar las claves de registro:
1 2 3 4 |
HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\Ica\Session\1\Connection Claves: ClientName y <span style="background-color: #cce4f5; font-family: 'Courier 10 Pitch', Courier, monospace; font-size: 12.8px;">ClientAddress</span> |
Cuando una sesión se crea con el cliente ICA, se registran todos los datos en la anterior clave. Estos datos son volátiles, así que hay que tenerlo en cuenta. Desaparecen al cerrar la sesión:
Te ha gustado la entrada SGUENOS EN TWITTER O INVITANOS A UN CAFE?