seastorm
Goto Top

IP des Terminal Users herausfinden

Hi

Kann man irgendwie die IP eines Users rausfinden, der per RDP auf einem Terminalserver ( 2003 ) verbunden ist? Also des Geräts "von dem der User aus verbindet".

Ich bräuchte die IP um gewisse Parameter zu automatisieren beim Start diverser Programme ( Verschiedene Filialen und so Sachen )
Entsprechend müsste das als Umgebungsvariable o.Ä vorhanden sein. Oder z.B per zusätzlichem Tool, das mit die IP zurückgibt

Mfg SeaStorm

Content-ID: 131211

Url: https://administrator.de/contentid/131211

Ausgedruckt am: 22.11.2024 um 21:11 Uhr

runcmd
runcmd 08.12.2009 um 14:37:19 Uhr
Goto Top
hi,

mit dem terminal services manager kannst du dir die verbindungen auf den TS anzeigen lassen. auf dem reiter sessions gibt es eine spalte "client name"... das ausreichend?

grüße
60730
60730 08.12.2009 um 15:22:04 Uhr
Goto Top
Servus,

was genau willst du denn machen?

Auf dem TS einfach mal:
netstat |find "ms-wbt-server"
laufen lassen.

So findest du heraus, wessen System denn am TS angemeldet ist.
Aber du willst das ja irgendwie anders haben/ weiterbenutzen - von daher - welches ROM meinst du denn für das wir dir einen Weg zimmern sollen?

Gruß
SeaStorm
SeaStorm 08.12.2009 um 16:00:38 Uhr
Goto Top
Hi

Danke erstmal für die Antworten!

@runcmd Jo, das ist schon klar. ich müsste das allerdings irgendwie automatisch auslesen können, da ich den Wert über eine Batchdatei weiterverarbeiten muss

@timobeil: Das trifft es schonmal fast ;) Jetzt muss ich das nurnoch dem entsprechenden User zuordnen können face-smile


Vielleicht wird es besser verständlich was ich bruache, wenn ich es mal schilder:

Ich habe mehrere Filialen die über RDP auf einen Server verbinden. Dort Arbeiten die User. Es wird ein spezielles Programm verwendet für diverse Datenpflege etc. Dieses Programm wird über Batchdateien gestartet. Diese Batchdateien legen diverse Variablen fest, damit der User in der "Umgebung" der entsprechenden Filiale Arbeitet.

user startet also FilA.bat, dadurch werden diverse Parameter so gesetzt, dass das Programm Variablen und Namen so setzt, das erkennbar ist, es wird von Filiale A aus geschafft.
gibt der User FilB.bat ein, wird entsprechend alles auf "B" gestellt.
Nun darf es aber nicht vorkommen, das jemand aus Filiale B ausversehen mal FilA eingibt. Das gibt dann Datensalat und die Ausdrucke etc kommen immer in Filiale A raus.
Das könnte ich verhindern, indem ich die IP der Clients hätte. Jede Filiale ist über VPN angebunden. Die Nummernkreise sind entsprechend vergeben ( 192.168.40.x, 192.168.50.x etc )

Also könnte ich einfach in einer Batchdatei fragen, beginnt die IP mit "192.168.40", dann rufe "FilA.bat" auf.

Gruss Sea
60730
60730 08.12.2009 um 16:43:03 Uhr
Goto Top
Servus,

dann mach es doch so:

Anmeldescript für die Terminaluser

ping n - 1 %computername% |find "192.168.40." && start "Filiale A" FilA.bat  
ping n - 1 %computername% |find "192.168.50." && start "Filiale B" FilB.bat  

Mehr oder weniger mache ich das bei unseren TS Usern genauso.

Gruß
SeaStorm
SeaStorm 09.12.2009 um 09:05:12 Uhr
Goto Top
Hi

Naja das ist mir etwas zu wackelig, da das mit dem Pingen nicht wirklich zuverlässig klappt. habe aber eben was passendes gefunden.

http://kixhelp.com/wr/files/kixtart/wtsmanager.zip

ist ne DLL ( + Bsp. Script für VBS ) mit der man ganz einfach alles Aulesen kann was man braucht face-smile Genau das was ich gesucht habe.
Lasse das nu einfach beim Loginscript mitlaufen und setze das ganze als user- Umgebungsvariable .

Trotzdem danke für eure Hilfe!

Gruss Sea
60730
60730 09.12.2009 um 09:29:51 Uhr
Goto Top
Servus,

ok bei uns mache ich das tatsächlich etwas anders, aber wackelig ist das pingen des eigenen Systems nicht.

Gruß
runcmd
runcmd 14.12.2009 um 15:26:41 Uhr
Goto Top
die lösung mit der umgebungsvariable ist dienlich.

ebenso wie timobeils variante, wo der client sich selbst anpingt, nicht vom TS angepingt wird. das ist nicht unbedingt wackelig.

bei mir kommt das loginscript durch die OU (via GP), in der der user steckt, bzw, die gruppe. mit einem WMI-filter auf die GP teste ich, ob er sich am TS anmeldet, oder am client.
SeaStorm
SeaStorm 19.01.2010 um 15:47:38 Uhr
Goto Top
Nachschlag:

Die DLL geht leider nicht unter 64 Bit :\

Habe da noch ein nettes Tool gefunden http://www.thomaskoetzing.de/files/utilities/clientip.zip
Liefert einfach nur die IP zurück, so wie die DLL auch.
Im .vbs logonscript zu verwnden mit:

function clientIP()
Set Sh = CreateObject("WScript.Shell")
Set Exec = Sh.Exec("%comspec% /c z:\clientip.exe")
If Not Exec.StdOut.AtEndOfStream Then T = Exec.StdOut.ReadAll
ClientIP = T
end function