.NET 3.x Как узнать время на компьютере в сети? - C#
Формулировка задачи:
Необходимо узнать текущее время на другом компьютере в сети.
Подскажите пожалуйста как это сделать.
Решение задачи: «.NET 3.x Как узнать время на компьютере в сети?»
textual
Листинг программы
/// <param name="machineName">Название комьютера</param> /// <param name="userName">Имя пользователя в формате домен\имя</param> /// <param name="password">Пароль пользователя.</param> DateTime GetRemoteDateTime(string machineName, string userName = null, string password = null) { try { ManagementScope scope; if (userName != null && password != null) { string[] domainAndUser = userName.Split('\\'); ConnectionOptions options = new ConnectionOptions { Username = domainAndUser[1], Password = password, Authority = "ntlmdomain:" + domainAndUser[0] }; scope = new ManagementScope(string.Format(@"\\{0}\root\CIMV2", machineName), options); } else { scope = new ManagementScope(string.Format(@"\\{0}\root\CIMV2", machineName)); } scope.Connect(); ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_LocalTime"); ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); DateTime result = DateTime.MinValue; foreach (ManagementObject queryObj in searcher.Get()) { result = new DateTime( Convert.ToInt32(queryObj["Year"]), Convert.ToInt32(queryObj["Month"]), Convert.ToInt32(queryObj["Day"]), Convert.ToInt32(queryObj["Hour"]), Convert.ToInt32(queryObj["Minute"]), Convert.ToInt32(queryObj["Second"]) ); } return result; } catch (ManagementException ex) { throw new ApplicationException("An error occurred while querying for WMI data", ex); } catch (UnauthorizedAccessException ex) { throw new ApplicationException("Connection error (user name or password might be incorrect)", ex); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д