Wie erhalte ich den Computernamen in .NET c #
Wie erhalte ich den Computernamen in .NET c #
Antworten:
System.Environment.MachineName von einer Konsole oder WinForms-App.HttpContext.Current.Server.MachineName von einer Web-AppSystem.Net.Dns.GetHostName() um den FQDN zu erhaltenSiehe So finden Sie den vollqualifizierten Domänennamen des lokalen Computers in C # /. NET? Wenn der letzte Ihnen den FQDN nicht gibt und Sie ihn brauchen.
Weitere Informationen zum Unterschied zwischen SystemInformation.ComputerName, Environment.MachineName und Net.Dns.GetHostName
Dns.GetHostName() nicht vollständig qualifiziert ist.
System.Environment.MachineName
Wenn Sie Winforms verwenden, können Sie auch verwenden System.Windows.Forms.SystemInformation.ComputerName, das genau den gleichen Wert wie zurückgibt System.Environment.MachineName.
System.Environment.MachineName
open system...let system_name = System.Environment.MachineName
Im Folgenden werden einige Methoden angegeben, um den Computernamen oder den Computernamen abzurufen
Methode 1:-
string MachineName1 = Environment.MachineName;
Methode 2: -
string MachineName2 = System.Net.Dns.GetHostName();
Methode 3: -
string MachineName3 = Request.ServerVariables["REMOTE_HOST"].ToString();
Methode 4: -
string MachineName4 = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
Weitere Informationen finden Sie in meinem Blog
Sie können über Environment.MachineName auf den Computernamen zugreifen .
Nun, es gibt noch einen weiteren Weg: Windows Management Instrumentation
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
}
Versuche dies:
string[] computer_name = System.Net.Dns.GetHostEntry(System.Web.HttpContext.Current.Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' });
return computer_name[0].ToString();
Ich setze die .InnerHtml einer <p>Klammer für mein Webprojekt auf den Computernamen des Benutzers und gehe dabei wie folgt vor:
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>
C #:
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 weitere hilfreiche Methoden: System.Environment.GetEnvironmentVariable ("ComputerName")
System.Environment.GetEnvironmentVariable ("ClientName"), um den Namen des PCs des Benutzers abzurufen, wenn dieser über Citrix XenApp oder Terminaldienste (auch bekannt als RDS, RDP, Remotedesktop) verbunden ist.
Probier diese.
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;
}