我得到了UserPrincipal类对象,想找到机器名或ip地址或mac地址。这些中的任何一个。是否有可能这样做,如果可以,怎么做?如果我要求任何不可能的模糊事物,我深表歉意。
3 回答
            3        
        
		
UserPrincipal 对象仅标识用户,而不是机器(除非您的网络管理员已决定将 PC 标识为用户)。
因此,您的问题确实没有标准答案。如果有用户 -> pc 链接,它可能存储在 Active Directory 或某处的数据库中。请联系您的系统管理员以了解如何建立该链接。
于 2013-09-02T12:04:24.560   回答
    
    
            0        
        
		
要查找主机的名称,请使用
string hostName = System.Net.Dns.GetHostName();
如果您正在查找主机的 IP 地址,请使用以下命令:
var address = System.Dns.GetHostEntry(hostName)
     .AddressList
     .FirstOrDefault(x => x.AddressFamily == AddressFamily.InterNetwork);
这为您提供了“ InterNetwork”类型的第一个地址——即第一个已知的 IP 地址。当然,可能有多个 IP 地址链接到主机,在这种情况下,您应该迭代AddressList上面看到的属性。
于 2013-09-02T11:53:45.887   回答
    
    
            -1        
        
		
尝试这个:
string sysname = Environment.MachineName;
string sysname = System.Net.Dns.GetHostName();
string sysname = System.Windows.Forms.SystemInformation.ComputerName;
string sysname = System.Environment.GetEnvironmentVariable("COMPUTERNAME');
可能这就是你的意思:
太从这里
ArrayList nets = new ArrayList();
DirectoryEntry entryPC;
entryPC = new DirectoryEntry();
entryPC.Path = "WinNT://domainName";
foreach (DirectoryEntry child in entryPC.Children)
{
   if (child.Name != "Schema")
   nets.Add(child.Name);
  }
return nets;
    于 2013-09-02T11:47:40.983   回答