.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);
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы