如何获取客户端计算机名称

时间:2012-12-28 10:06:37

标签: c# remote-desktop thin-client terminal-services

我正在使用C#Framework 4.0 Windows窗体。我的程序安装在服务器TSE上。有11个轻客户端连接到此服务器。

当其中一个客户启动我的程序时,我怎样才能获得他的PC名称?

4 个答案:

答案 0 :(得分:5)

假设您正在使用终端服务和远程桌面,您可以检查CLIENTNAME环境变量以检索客户端计算机的名称,尽管有些人报告了它的问题。

您可以使用Environment.GetEnvironmentVariable获取值,例如

var clientName=Environment.GetEnvironmentVariable("CLIENTNAME");

对于基于API的方法,请选中Preferred way Of getting Client name From Terminal Server Session,其中显示了如何使用WMI或终端服务API来检索客户端名称

<强>更新

嗯,似乎Cassia库封装了TS API。您可以使用TerminalServicesManager().CurrentSession.ClientName

获取客户名称

另一个SO thread显示了如何检索当前会话的客户端名称或所有会话的客户端名称。

答案 1 :(得分:2)

在客户端上,使用:

string machineName = Environment.MachineName;

答案 2 :(得分:1)

string ComputerName1 = Dns.GetHostName();//Server Name
string ComputerName2 = Environment.MachineName;//Server Name  

答案 3 :(得分:0)

如果您使用的是.NET,则可以使用以下代码:

Dim PcName As String = Environment.UserName

然后只需在要显示的任何地方调用PcName

好运:)