I have C# console application which receives windows username as argument. Based on this username my application needs to find out the IP address where currently this user is logged in so that my console application can invoke WCF service hosted in user's machine.

Can anyone please direct me to correct resource or reply with code if you have came across?

9 Years
Discussion Span
Last Post by LizR

I cant figure out where you start. I am looking into System.Net classes documentations but does'nt seems to find anything there.


the following code returns me username and machine host name but it will work for the machine the code is running in.

Console.WriteLine("Current Logged UserName: " + Environment.UserName);

            Console.WriteLine("Local Machine Name: " + Environment.MachineName);

            Console.WriteLine("Local Machine Name: " + Dns.GetHostName()); // Dns from System.Net

            IPHostEntry ip = Dns.GetHostEntry(Dns.GetHostName());

            IPAddress[] IPaddr = ip.AddressList;

            for (int i = 0; i < IPaddr.Length; i++)

            { Console.WriteLine("IP Address {0}: {1} ", i, IPaddr[i].ToString()); }


Ideally I am looking for some sort of way that a given machine in the network can figure out where another windows user is logged (IP address or machine name)


Well to do so you would need admin permissions to the remote machine, and then you can use WMI to retrieve various peices of data- however to connect to the remote machine you would normally already have a name - which you should be able to do a look up on to get IP..

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.