Есть ли какой-либо класс для получения даты удаленного ПК в .net? Для этого я могу использовать имя компьютера или часовой пояс. Для каждого случая существуют разные способы получить текущее время? Я использую Visual Studio 2005.Получить время удаленного ПК?
3
A
ответ
1
Вы можете использовать удаленный WMI и Win32_TimeZone
class. Вам необходимо иметь разрешение на выполнение запросов WMI на этом компьютере. Избегайте таких хлопот, работая с UTC вместо местного времени.
5
Я даю вам решение, которое использует WMI. Вы можете или не можете нуждаться в информации о домене и безопасности:
try
{
string pc = "pcname";
//string domain = "yourdomain";
//ConnectionOptions connection = new ConnectionOptions();
//connection.Username = some username;
//connection.Password = somepassword;
//connection.Authority = "ntlmdomain:" + domain;
string wmipath = string.Format("\\\\{0}\\root\\CIMV2", pc);
//ManagementScope scope = new ManagementScope(
// string.Format("\\\\{0}\\root\\CIMV2", pc), connection);
ManagementScope scope = new ManagementScope(wmipath);
scope.Connect();
ObjectQuery query = new ObjectQuery(
"SELECT * FROM Win32_LocalTime");
ManagementObjectSearcher searcher =
new ManagementObjectSearcher(scope, query);
foreach (ManagementObject queryObj in searcher.Get())
{
Console.WriteLine("-----------------------------------");
Console.WriteLine("Win32_LocalTime instance");
Console.WriteLine("-----------------------------------");
Console.WriteLine("Date: {0}-{1}-{2}", queryObj["Year"], queryObj["Month"], queryObj["Day"]);
Console.WriteLine("Time: {0}:{1}:{2}", queryObj["Hour"], queryObj["Minute"], queryObj["Second"]);
}
}
catch (ManagementException err)
{
Console.WriteLine("An error occurred while querying for WMI data: " + err.Message);
}
catch (System.UnauthorizedAccessException unauthorizedErr)
{
Console.WriteLine("Connection error (user name or password might be incorrect): " + unauthorizedErr.Message);
}
1
На машине Windows, есть net time \\<remote-ip address>
, чтобы получить время удаленной машины. Вы можете использовать это, чтобы найти удаленное системное время, если вам нужен код, вы можете его обернуть в функции для выполнения функций оболочки (DOS) на C#.
1
Поскольку код WMI будет очень медленно, вы можете использовать следующий код, чтобы получить быстрые результаты
string machineName = "vista-pc";
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.FileName = "net";
proc.StartInfo.Arguments = @"time \\" + machineName;
proc.Start();
proc.WaitForExit();
List<string> results = new List<string>();
while (!proc.StandardOutput.EndOfStream)
{
string currentline = proc.StandardOutput.ReadLine();
if (!string.IsNullOrEmpty(currentline))
{
results.Add(currentline);
}
}
string currentTime = string.Empty;
if (results.Count > 0 && results[0].ToLower().StartsWith(@"current time at \\" + machineName.ToLower() + " is "))
{
currentTime = results[0].Substring((@"current time at \\" + machineName.ToLower() + " is ").Length);
Console.WriteLine(DateTime.Parse(currentTime));
Console.ReadLine();
}
Смежные вопросы
- 1. nodejs tcp test с удаленного ПК
- 2. Использование процессора и состояние памяти удаленного ПК
- 3. Не удается получить доступ к серверу Sql с удаленного ПК
- 4. Доступ к Tomcat с удаленного ПК
- 5. Получить время из Интернета (минуя часы ПК)?
- 6. Как я могу получить время удаленного сервера?
- 7. Получить точное время для удаленного сервера
- 8. VB.net 2005 получить системное время удаленного компьютера?
- 9. Выключение удаленного компьютера PowerShell, одного ПК
- 10. Получить файл с удаленного компьютера
- 11. Написание приложения для удаленного доступа к текстовому файлу на ПК?
- 12. Хостинг SVN-сервера на моем ПК для удаленного доступа
- 13. Как получить измененное время удаленного файла в пакетном скрипте
- 14. Ищете программное обеспечение для удаленного управления iTunes с ПК
- 15. генерирующая SSRS 2008 отчет R2 в C# с удаленного ПК работает медленнее, чем от локального ПК
- 16. Egit не удалось получить из удаленного репозитория
- 17. Получить размер удаленного файла
- 18. Получить каталоги удаленного сервера
- 19. хочу получить адрес mac удаленного компьютера
- 20. Найдите время простоя с удаленного компьютера, используя C#
- 21. Получить список разделов/каталогов/папок/файлов с удаленного ПК с помощью C#
- 22. Как получить доступ к домашнему ПК с удаленного места с помощью SSH
- 23. Я не могу получить доступ к серверу Pentaho с удаленного ПК
- 24. Как получить имя клиентского ПК?
- 25. Как получить тип модели ПК?
- 26. Получить ПК с помощью @@ IDENTITY
- 27. Как получить глобальное время (а не время ПК) с помощью javascript или jquery?
- 28. PHP получить реальную дату от автономного ПК
- 29. Rails загрузки изображения во время procees удаленного
- 30. Как проверить время изменения удаленного файла
Как удаленный компьютер, подключенный к вашей машине? Через сеть? Через Интернет? –
Подключение осуществляется через сеть. Я могу пинговать в ящик по имени машины или ip. –
На самом деле, у меня был SQL-запрос, чтобы получить удаленное время (SELECT GetDateTime()) с удаленного ПК, прежде чем я обновляю данные, а также хочу показать удаленное время дат для пользователя. Запрос вызывается каждые 2 минуты, и у меня есть некоторые исключения (может быть вызвано потоком от таймера в форме). Вот почему я думаю использовать другой альтернативный способ получить удаленное время дат. –