Jak uzyskać nazwę komputera w .NET c #
Jak uzyskać nazwę komputera w .NET c #
Odpowiedzi:
System.Environment.MachineName
z konsoli lub aplikacji WinForms.HttpContext.Current.Server.MachineName
z aplikacji internetowejSystem.Net.Dns.GetHostName()
aby uzyskać nazwę FQDNZobacz Jak znaleźć nazwę FQDN lokalnego komputera w C # / .NET? jeśli ostatni nie daje nazwy FQDN i jest ona potrzebna.
Zobacz szczegółowe informacje na temat różnicy między SystemInformation.ComputerName, Environment.MachineName i Net.Dns.GetHostName
Dns.GetHostName()
nie dało to w pełni kwalifikowanej nazwy.
System.Environment.MachineName
Lub, jeśli używasz Winforms, możesz użyć System.Windows.Forms.SystemInformation.ComputerName
, który zwraca dokładnie taką samą wartość jak System.Environment.MachineName
.
System.Environment.MachineName
open system
...let system_name = System.Environment.MachineName
Poniżej podano niektóre metody uzyskiwania nazwy komputera lub komputera
Metoda 1: -
string MachineName1 = Environment.MachineName;
Metoda 2: -
string MachineName2 = System.Net.Dns.GetHostName();
Metoda 3: -
string MachineName3 = Request.ServerVariables["REMOTE_HOST"].ToString();
Metoda 4: -
string MachineName4 = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
Więcej informacji na moim blogu
Możesz mieć dostęp do nazwy komputera za pomocą Environment.MachineName .
Jest jeszcze jeden sposób: Instrumentacja zarządzania Windows
using System.Management;
try
{
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT Name FROM Win32_ComputerSystem");
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_ComputerSystem instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("Name: {0}", queryObj["Name"]);
}
}
catch (ManagementException e)
{
// exception handling
}
Spróbuj tego:
string[] computer_name = System.Net.Dns.GetHostEntry(System.Web.HttpContext.Current.Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' });
return computer_name[0].ToString();
Ustawiam .InnerHtml <p>
nawiasu dla mojego projektu internetowego na nazwę komputera użytkownika, wykonując następujące czynności:
HTML:
<div class="col-md-4">
<h2>Your Computer Name Is</h2>
<p id="pcname" runat="server"></p>
<p>
<a class="btn btn-default" href="#">Learn more »</a>
</p>
</div>
DO#:
using System;
using System.Web.UI;
namespace GetPCName {
public partial class _Default : Page {
protected void Page_Load(object sender, EventArgs e) {
pcname.InnerHtml = Environment.MachineName;
}
}
}
2 dodatkowe pomocne metody: System.Environment.GetEnvironmentVariable („ComputerName”)
System.Environment.GetEnvironmentVariable („ClientName”), aby uzyskać nazwę komputera użytkownika, jeśli są one połączone za pomocą Citrix XenApp lub usług terminalowych (inaczej RDS, RDP, Pulpit zdalny)
Spróbuj tego.
public static string GetFQDN()
{
string domainName = NetworkInformation.IPGlobalProperties.GetIPGlobalProperties().DomainName;
string hostName = Dns.GetHostName();
string fqdn;
if (!hostName.Contains(domainName))
fqdn = hostName + "." +domainName;
else
fqdn = hostName;
return fqdn;
}