eccos01
Goto Top

Client-IP bei Citrix bzw. Terminalserver auslesen

hallo,

ich brauche die IP des Clients an einem Citrix-Server bzw. an einem Terminalserver.

Zweck:
Ich benötige eine Umgebunsvariable (analog zu %CLIENTNAME%) deren Inhalt nicht die lokale sondern die IP-Adresse des Thin-Clients ist umd damit arbeitsplatz-abhängige Parameter bei einem Programm zu setzen..

Hat einer eine Idee?

Content-ID: 135757

Url: https://administrator.de/forum/client-ip-bei-citrix-bzw-terminalserver-auslesen-135757.html

Ausgedruckt am: 25.12.2024 um 16:12 Uhr

DerSchorsch
DerSchorsch 11.02.2010 um 23:32:30 Uhr
Goto Top
Hallo,

Powershell und funktionierende Namensauflösung vorrausgesetzt, solltest du mit folgendem Powershell-Befehl die IP des Clients auflösen und in eine Variable (z.B. %clientip%) schreiben können:
<code type=plain"> $env:clientip = [System.Net.Dns]::GetHostAddresses($env:clientname).ToString()

Gruß,
Schorsch
eccos01
eccos01 12.02.2010 um 15:50:41 Uhr
Goto Top
Hallo Schorsch,

Dein Befehl funktioniert zwar, aber ich bekomme keinen Zugriff auf "clientip".
Das heißt, ich weiß nicht wie ich "$env:clientip" zu einer normalen session-weiten Umgebungsvariable mache, damit ich sie in der Batchdatei verwenden kann.

Ich habe bis jetzt die Powershell noch nie benutzt.

Wenn ich in der Powershell den Befehl eingebe, dann kann ich anschließend mit 'echo $env:clientip' die IP-Adresse ausgeben (aber nur innerhalb der Powershell-Session).

Wenn ich den Befehl aus der Batchdatei aufrufe (mit powershell <befehl>) kann ich auf die Variable mittels %clientip% nicht zugreifen.
Lediglich mit Umleitung in eine Datei und Auslesen der Datei klappt es.

Gibt es einen Weg, dass ich die IP-Adresse in eine session-weiten Umgebungsvariable bekommen?

Gruß
DerSchorsch
DerSchorsch 12.02.2010 um 20:20:08 Uhr
Goto Top
Hallo,

ups, stimmt, so ist die Varaible nur im Powershell-Prozess.

So sollte die Variable aber in die Benutzer-Session geschrieben werden:
$ip = [System.Net.Dns]::GetHostAddresses($env:clientname).ToString() 
[Environment]::SetEnvironmentVariable("clientip", "$ip", "User")  

Gruß,
Schorsch
eccos01
eccos01 18.02.2010 um 10:43:03 Uhr
Goto Top
Hallo Schorsch,

danke für die Info... hat auch geklappt.

Hast Du auch eine Idee, wenn ich den Eintrag nicht als permanente User-Umgebungsvariable haben möchte... sozusagen nur als Session-Umgebungsvariable?

Gruß
Ingmar