C# 如何查找网络计算机名称和登录该计算机的用户?

C# 如何查找网络计算机名称和登录该计算机的用户?,c#,network-programming,C#,Network Programming,我必须找到机器名和登录到机器的用户名 I have Updated My answer please see my answer !!!! NetworkBrowser nb = new NetworkBrowser(); IPHostEntry ip = Dns.GetHostEntry(Dns.GetHostName()); foreach (string pc in nb.getNetworkComputers()) { cmbNetworkComputers.I

我必须找到机器名和登录到机器的用户名

  I have Updated My answer please see my answer !!!!

 NetworkBrowser nb = new NetworkBrowser();
 IPHostEntry ip = Dns.GetHostEntry(Dns.GetHostName());
 foreach (string pc in nb.getNetworkComputers())
 {
      cmbNetworkComputers.Items.Add(pc);
 }
 cmbNetworkComputers.SelectedIndex = 0;
上面的代码检索机器名,如何获取用户名?

有关如何获取计算机列表的指针,请参见-

当您拥有该列表时,您可以使用WMI查询计算机中已登录的用户

string comp = "Computer";
ConnectionOptions options = new ConnectionOptions();
//user (domain or local) with sufficient privileges to access the remote system through WMI
options.Username = "Usersname"; 
options.Password = "Password";
ManagementScope s = new ManagementScope(string.Format(@"\\{0}\root\cimv2", comp), options);

ManagementPath p = new ManagementPath(string.Format("Win32_ComputerSystem.Name='{0}'", comp));

using(ManagementObject cs = new ManagementObject (s, p, null ))
{
    cs.Get();
    Console.WriteLine(cs["UserName"]);
}

@CodeCaster的可能重复项与此问题不同。你们链接到的那个一个是检索运行应用程序的帐户的用户名。然后OP应该详细说明他到底想要什么以及尝试了什么。请参阅示例。@Code Caster我不需要当前的机器名。。。从网络中,我必须找到一台机器,我需要谁登录到这台机器我需要在C#??@密码播放机