Un problema muy común es que los usuarios que corren una aplicación desde su escritorio que se encuentra publicada en un servidor Citrix o Terminal Server, al validarse en Active Directory corren nuevamente los script de logon y en ciertas oportunidades la validación se traba allí, llegando a producir excesivos tiempos para ingresar o trabándose simplemente.
Esto lo podemos solucionar creando un script con unas líneas adicionales que permite distinguir el inicio de sesión que se ejecuta y correr o no los comandos correspondientes para esa sesión.
De esta manera logramos que los usuarios ejecuten cierto script cuando están en Citrix pero no cuando están en local, o al revés, cuando están en local que ejecuten cierto script, pero cuando están en Citrix o Terminal Services no.
-------------------------------------------------------------------------------------------
@ echo off
if %sessionname%==Console (GOTO :Consola) else (GOTO :Citrix)
:Consola
echo Esta localmente, ni en TS ni en Citrix, así que ejecutamos lo que deseamos que se ejecute local.
GOTO:Fin
:Citrix
echo Esta en TS o en Citrix, así que ejecutamos lo que deseamos que se ejecute en remoto.
GOTO:Fin
:Fin
---------------------------------------------------------------------------------------------