Bagaimana cara mendapatkan nama komputer di .NET c #
Bagaimana cara mendapatkan nama komputer di .NET c #
Jawaban:
System.Environment.MachineName dari aplikasi konsol atau WinForms.HttpContext.Current.Server.MachineName dari aplikasi webSystem.Net.Dns.GetHostName() untuk mendapatkan FQDNLihat Bagaimana menemukan FQDN mesin lokal di C # /. NET? jika yang terakhir tidak memberi Anda FQDN dan Anda membutuhkannya.
Lihat detail tentang Perbedaan antara SystemInformation.ComputerName, Environment.MachineName, dan Net.Dns.GetHostName
Dns.GetHostName() ternyata tidak memberikan nama yang sepenuhnya memenuhi syarat.
System.Environment.MachineName
Atau, jika Anda menggunakan Winforms, Anda dapat menggunakan System.Windows.Forms.SystemInformation.ComputerName, yang mengembalikan nilai persis sama dengan System.Environment.MachineName.
System.Environment.MachineName
open systemlet system_name = System.Environment.MachineName
Beberapa metode diberikan di bawah ini untuk mendapatkan nama mesin atau nama komputer
Metode 1: -
string MachineName1 = Environment.MachineName;
Metode 2: -
string MachineName2 = System.Net.Dns.GetHostName();
Metode 3: -
string MachineName3 = Request.ServerVariables["REMOTE_HOST"].ToString();
Metode 4: -
string MachineName4 = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
Untuk lebih lanjut lihat blog saya
Anda dapat memiliki akses nama mesin menggunakan Environment.MachineName .
Nah ada satu cara lagi: Instrumentasi Manajemen 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
}
Coba ini:
string[] computer_name = System.Net.Dns.GetHostEntry(System.Web.HttpContext.Current.Request.ServerVariables["remote_addr"]).HostName.Split(new Char[] { '.' });
return computer_name[0].ToString();
Saya menetapkan .InnerHtml <p>braket untuk proyek web saya ke nama komputer pengguna melakukan hal berikut:
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 metode yang lebih bermanfaat: System.Environment.GetEnvironmentVariable ("ComputerName")
System.Environment.GetEnvironmentVariable ("ClientName") untuk mendapatkan nama PC pengguna jika mereka terhubung melalui Citrix XenApp atau Terminal Services (alias RDS, RDP, Remote Desktop)
Coba yang ini.
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;
}