Як отримати назву локальної машини?
Як отримати назву локальної машини?
Відповіді:
System.Environment.MachineName
Це працює, якщо назва машини не має більше 15 символів .
Ви повинні мати можливість використовувати System.Environment.MachineName
для цього. Це властивість, яка повертає рядок, що містить ім'я netBIOS комп'ютера:
http://msdn.microsoft.com/en-us/library/system.environment.machinename.aspx
Від тексту посилання
Чотири способи отримати назву локальної мережі / машини:
string name = Environment.MachineName;
string name = System.Net.Dns.GetHostName();
string name = System.Windows.Forms.SystemInformation.ComputerName;
string name = System.Environment.GetEnvironmentVariable("COMPUTERNAME");
Більше інформації за посиланням: Різниця між SystemInformation.ComputerName, Environment.MachineName та Net.Dns.GetHostName
Якщо вам потрібне повне доменне ім’я (повне доменне ім’я) локального комп’ютера, ви можете використовувати
System.Net.Dns.GetHostEntry("localhost").HostName
Інші методи повертатимуть лише локальне ім’я без будь-якої інформації про домен. Наприклад, для комп’ютера myComp.myDomain.com
повернуться попередні методи myComp
, тоді як GetHostEntry
метод повернетьсяmyComp.myDomain.com
localhost
за мене, ні FQDN
.
Ім'я мого комп'ютера більше 15 символів, тому я використовую hostname.exe, щоб отримати повне ім'я:
Process proc = new Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.FileName = "c:/windows/system32/hostname.exe";
proc.Start();
var hostName = proc.StandardOutput.ReadLine();