Get RDP Client Session IP address

I need to change my vision application to use a different instance of a UDT and change labels on the screen based on the IP address of the client session. I am running the clients on an RDP (terminal server). I have the sessions running but getting the IP address using system.net.getIpAddress() returns the Host IP address of the server not the one the client uses to connect. The hostname also returns the name of the Host not the client. Using system.net.getExternalIpAddress() returns 127.0.0.1 and the client tag [System]Client/Network/IPAddress also returns 127.0.01.

Does anyone know of a way to get the RDP client session IP address?
Or any other way I could detect that it’s a different client starting up so my startup script on show of the window can set some things based on the individual client.

This was just asked yesterday...

Does the user environment have any tools from inside the session to identify the real client location? If so, you might be able to pass information into the Ignition client via the launcher's option for parameters to client tags.

Yes I am using thinmanager to mange the clients and actually am passing in the name of the client as shown below to start the correct app.
#TERMINALNAME# is a variable that it fills in
This is the command line to start the application

-Dapp.home=C:\Users#TERMINALNAME#.ignition\clientlauncher-data -Dapplication=Ignition%20Repair%20Application

So yes if there is a way to pass in the #TERMINALNAME# to a tag from the command line that would at least be a work around. Not the best way but may be the only way.

Client Launchers Commands

Particularly -Djavaws.launchparams can write to client tags.

1 Like

Precisely. One project, with a startup script that looks at the client tag filled in from the launcher.

I was the original poster of the other linked forum post. You can also use OS User name. System>Client>User>OSUsername. That would require that you only log in with one OS user name at each thin client though.

Thanks everyone got it working with passing in command line parameters though thinmanager using a single display client. Thinmanager actually has its own variables to use to get the user logged in and the terminal name. The only issue I have is thin manager is limited right now to only 254 characters for the total path and commands. So I had to reduce the size of my tagname that I was using to get it to work with thinmanager. For anyone else trying it this is the command.

D:\Program Files\Inductive Automation\Vision Client Launcher\visionclientlauncher.exe" -Dapp.home=C:\Users#WINDOWUSERNAME#.ignition\clientlauncher-data -Dapplication=Ignition%20Repair%20Application -Djavaws.launchparams=“TN” -Djavaws.launchparam.TN=#TERMINALNAME#