Get hostname of a RDP client computer

15,733

Solution 1

You could write a batch script like:

netstat -na | find "3389" | find "ESTABLISHED" >> C:\path_to_rdplog.txt
date /T >> C:\path_to_rdplog.txt
time /T >> C:\path_to_rdplog.txt
echo. >> C:\path_to_rdplog.txt
echo ----------- >> C:\path_to_rdplog.txt
echo. >> C:\path_to_rdplog.txt

You just have to make sure that the person who's logging in has write permissions to C:\path_to_rdplog.txt

Solution 2

Microsoft MVP Shay Levy made a PSTerminalServices PowerShell module that has Terminal Services cmdlets.

It needs to be installed, it is not there by default.

I have not used it yet, I just found it.

Solution 3

A very old thread but anyway. We used to check an environment variable CLIENTNAME that is set in the RDP session. We had an older application that could not easily use windows API's or Powershell and checked this environment variable. This variable holds the hostname of the client machine making the RDP connection.

Share:
15,733

Related videos on Youtube

CommanderSix
Author by

CommanderSix

Updated on September 18, 2022

Comments

  • CommanderSix
    CommanderSix over 1 year

    I have a question which I'm sure has a simple solution, but it keeps eluding me.

    There's a server in the picture that is used by several people.
    All of them use the same account to log in.
    The only way to differentiate sessions would be by hostname or IP.

    So - How to see, on the remote computer, a hostname of the client connected?

    For example, I RDP in to the server 256.12.13.1 from my IP 256.12.13.7.
    Is there a command I could run on the server in that remote session that will output 256.12.13.7?

    I ask because it would be good if that command would output 256.12.13.9 when person connects from that other IP.

    So I can put it in startup and whenever someone connects script like this would run:

    gethostname >> rdplog.txt<br>
    date /t >> rdplog.txt <br>
    time /t >> rdplog.txt
    

    So this can basically equal to a very simple login log.

    • CommanderSix
      CommanderSix over 12 years
      I'm looking into powershell now. I guess that's my only option left.
    • Myrddin Emrys
      Myrddin Emrys over 12 years
      Obviously, few people can dictate how a business uses IT resources, but may I suggest that multiple people using the same login is extremely poor security practice? If you are in the position to improve this system, I would recommend it.
    • CommanderSix
      CommanderSix over 12 years
      @MyrddinEmrys, You are absolutely correct. But no, I can not make the change in the system as it is now, I did try already :) However, it's a LAN environment and people do not store much important data so it is okay. The only thing I am concerned about is data corruption, but this is where backup kicks in ;) Thank you for your thoughts though, much appreciated!
  • CommanderSix
    CommanderSix over 12 years
    Thanks for the suggestion. Haven't tried it, but will :)
  • CommanderSix
    CommanderSix over 12 years
    Exactly what I needed! How could I have made such an oversight? netstat! Thank you matrixx333, you just made my day. Of course, I edited the script a bit more to suit my needs better, but you made a hell of a job sir. Thank you very much! :-)
  • matrixx333
    matrixx333 over 12 years
    Glad I could help you out @extremko!
  • binki
    binki over 8 years
    Though I suspect this wouldn’t give the right answer when multiple clients are connected and you want to discover the client connected to the currently active session.
  • CommanderSix
    CommanderSix over 6 years
    I appreciate the update, even with the thread being old. Clientname variable would certainly resolve my issue back then! Thanks for the update!