2010-07-25 12 views
7

Ho bisogno di ottenere il nome computer locale per un computer desktop che esegue la nostra applicazione software tramite una sessione Citrix. Quando interrogo My.Computer.Name ottengo il nome del server.Ottieni il nome del computer locale tramite la sessione Citrix in .NET

Come posso ottenere il nome del computer fisico che la sessione è in esecuzione, ed è lì lì un evento che posso monitorare quando qualcuno passa una sessione da un computer ad un altro?

+0

Non ho un server Citrix Ready, ma IIRC ci dovrebbe essere una variabile per l'ambiente server. – Kobi

risposta

11

Trovato una variabile server come Kobi suggerito sopra:

%CLIENTNAME%

è popolato solo nel Terminal Services o Citrix, in espansione su di voi PC locale tornerà %CLIENTNAME%. Tuttavia, su un server Citrix o RDP funziona alla grande. Il codice .NET che sto usando è:

TSHostName = Environment.ExpandEnvironmentVariables("%CLIENTNAME%")

+0

Beh, almeno hai scritto correttamente il nome ':)'. A proposito, puoi accettare la tua risposta facendo clic sul segno di spunta accanto ad essa. – Kobi

+0

Scusate amico. Aggiustato! Nuovo per lo stockoverflow, grazie per il vostro aiuto. – Molloch

+0

Questo è buono, ma non funziona con le macchine VDI Wyse. –

Problemi correlati