2010-07-25 7 views
7

Ich brauche den lokalen Computernamen für einen Desktop-Computer, der unsere Softwareanwendung über eine Citrix Sitzung ausführt. Wenn ich My.Computer.Name abfrage bekomme ich den Namen des Servers.Abrufen des lokalen Computernamens über Citrix Sitzung in .NET

Wie kann ich den Namen des tatsächlichen physischen Computers abrufen, auf dem die Sitzung ausgeführt wird, und gibt es dort ein Ereignis, das ich überwachen kann, wenn jemand eine Sitzung von einem Computer zu einem anderen wechselt?

+0

Ich habe nicht einen Citrix-Server bereit, aber IIRC sollte es eine Variable auf der Server-Umgebung sein. – Kobi

Antwort

11

eine Servervariable gefunden als Kobi oben vorgeschlagen:

%CLIENTNAME%

es nur in Terminal Services oder Citrix ausgefüllt ist, es auf Sie lokalen PC erweitert werden %CLIENTNAME% zurück. Auf einem Citrix- oder RDP-Server funktioniert das jedoch großartig. Der .net Code Ich verwende ist:

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

+0

Nun, zumindest buchstabiert man den Namen richtig ':)'. Sie können Ihre eigene Antwort übrigens akzeptieren, indem Sie auf das Häkchen daneben klicken. – Kobi

+0

Sorry Kumpel. Behoben! Neu im stockoverflow, vielen Dank für Ihre Hilfe. – Molloch

+0

Das ist gut, funktioniert aber nicht mit Wyse VDI-Maschinen. –