我得到了UserPrincipal
类对象,想找到机器名或ip地址或mac地址。这些中的任何一个。是否有可能这样做,如果可以,怎么做?如果我要求任何不可能的模糊事物,我深表歉意。
问问题
671 次
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 回答