[C#] 取得使用者名稱、主機名稱、主機IP

  • 42398
  • 0

[C#] 取得使用者名稱、主機名稱、主機IP

前言


最近剛好遇到需要顯示主機資訊的需求,

在網路上尋找了一下資料,

順便寫下來分享並做個備忘

 

實際演練


我將程式碼統一寫在ServerInfoUtility的Class中,

主要提供了三個功能

1. 取得主機名稱

2. 取得登入帳號

3. 取得IP位置烈表


    /// Get Server's Info
    /// </summary>
    public static class ServerInfoUtility
    {
        /// <summary>
        /// Gets the name of the server.
        /// </summary>
        /// <returns>Server name</returns>
        public static string GetServerName()
        {            
            return Environment.MachineName;

            // Or can use
            // return System.Net.Dns.GetHostName();
            // return System.Windows.Forms.SystemInformation.ComputerName;
            // return System.Environment.GetEnvironmentVariable("COMPUTERNAME"); 
        }

        /// <summary>
        /// Gets the login account.
        /// </summary>
        /// <returns>Login account</returns>
        public static string GetLoginAccount()
        {
            return System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        }

        /// <summary>
        /// Gets the ip addresses.
        /// </summary>
        /// <returns>ip addresses</returns>
        public static string[] GetIpAddresses()
        {
            string hostName = GetServerName();

            return System.Net.Dns.GetHostAddresses(hostName).Select(i => i.ToString()).ToArray();
        }
    }


結語


如果有問題或是更好的寫法,

也請你跟我說 ^_^