Имя: Пароль:
1C
 
Очень нужен способ получать текущее время с другого компьютера домена
,
0 TormozIT
 
гуру
18.07.15
02:10
Нужен способ получать удаленно текущее время с заданного компьютера домена Windows, не предоставляя пользователю домена административный доступ к этому компьютеру.
Я знаю два способа при наличии прав администратора:
1. WMI (класс Win32_ComputerSystem)
2. Команда консоли Net time \\<ComputerName>

Чувствую, что к WMI все таки как то должно быть возможно подключиться без прав администратора, но с сильными ограничениями. Но уже в который раз не получается решить эту проблему.
1 Сержант 1С
 
18.07.15
02:46
нахера? если этот комп в домене автоматом получает время домена априори..
2 mszsuz
 
18.07.15
06:14
Я давным-давно без всяких WMI получал время удаленного компа след.образом - создавал в его сетевой папке временный файл и вытаскивал время из атрибутов файла.
3 TormozIT
 
гуру
18.07.15
11:01
(1) Думаю что это утверждение не всегда верно, т.к. служба синхронизации времени может быть отключена. Ну и хочется еще и между доменами заставить это работать.
4 TormozIT
 
гуру
18.07.15
11:03
(2) Под произвольным компьютером, с которого нужно получать время имеется ввиду компьютер, где моя учетная запись будет иметь очень ограниченные права (например это сервер 1С, к серверному контексту которого я не имею доступа).
5 pumbaEO
 
18.07.15
11:13
Это уже похоже больше на вирус.
Тебе правильней вываливаться в исключение и оставлять сообщение о невозможности или же предлагать повышать уровень привелегий.
6 TormozIT
 
гуру
18.07.15
11:16
(5) Я так и делаю (вывожу сообщение), но это сообщение мусорит во всех логах и смещение времени остается неизвестным и логи включающие сквозные процессы на нескольких компьютерах получаются невыровненными по оси времени.
7 TormozIT
 
гуру
18.07.15
11:19
По поводу вируса я же не прошу хакать компьютер, а ищу способ легальный, т.е. в том числе какие минимальные разрешения нужно сделать на целевом компьютере, чтобы решить задачу.
8 pumbaEO
 
18.07.15
11:35
(7) что тебе мешает записівать разницу времени между сервером и клиентом, а потом на дельту уже изменять время?
9 TormozIT
 
гуру
18.07.15
11:49
(8) Именно это я и пытаюсь сделать)
10 TormozIT
 
гуру
18.07.15
11:50
Точнее не только это, но это в том числе. Повторяю доступа к серверному контексту у меня нет.
11 Biker
 
18.07.15
12:12
(0) чекай дельту на обоих c pool.ntp.org и рассчитывай разницу, w32tm /stripchart /computer:pool.ntp.org /dataonly
12 Garikk
 
18.07.15
12:31
(3) < т.к. служба синхронизации времени может быть отключена>

Если в домене отключена служба синхронизации, домен через какоето время развалится... и надо сильно бить одминов которые так делают
13 TormozIT
 
гуру
18.07.15
12:44
(12) Согласен, что такое редко встречается, но еще есть варианты: разные домены, рабочая группа, рабочая группа и домен. В общем это из реальной практики я перечислил. В постановке задачи решил сразу это не писать, чтобы сначала более простого варианта решение попробовать найти.
14 TormozIT
 
гуру
18.07.15
12:54
(11) Инета на компьютерах конечно же может не быть. Но способ полезный, местами работает. Не знал про такой. Спасибо!
15 pumbaEO
 
18.07.15
13:01
(13) ну а когда логи отправляешь отправляй и timestamp тогда можешь и дельту высчитать.
16 Biker
 
18.07.15
13:13
(14) нищеброды, едой платят ?
с жпс тогда бери, если не подвал конечно.
17 Провинциальный 1сник
 
18.07.15
13:30
ntpdate -qu <ip>
18 viraboy
 
18.07.15
14:21
Веб сервис напишите, который будет время с этого компа отдавать
19 TormozIT
 
гуру
18.07.15
16:08
(17) У меня ж Windows. Там нет такой команды.
20 ДенисЧ
 
18.07.15
16:14
sip://call+МарьВанна+скока+время....
21 Провинциальный 1сник
 
18.07.15
16:21
(19) Есть екзешник и под винду
22 TormozIT
 
гуру
18.07.15
17:14
(21) Бесплатный для использования в коммерческих продуктах?
23 Провинциальный 1сник
 
18.07.15
19:43
(22) Именно
24 TormozIT
 
гуру
18.07.15
19:44
(23) Подскажи название.
25 Провинциальный 1сник
 
18.07.15
19:49
26 Провинциальный 1сник
 
18.07.15
19:49
+(25) Из всего продукта нужен лишь один экзешник ntpdate.exe
27 pumbaEO
 
18.07.15
21:17
(17) а если все порты будут закрыты?
28 Gepard
 
18.07.15
22:26
Можно абсолютно другой вариант... До безобразия простой

Например страничка в iis с одной командой показа текущего времени
29 Провинциальный 1сник
 
19.07.15
08:46
(27) Как правило в локалке этой фигней не страдают.
(28) На каждом компьютере ставить иис с этой страничкой?
30 Gepard
 
19.07.15
08:50
(29) зачем? Только на том сервере, время которого надо узнать.
31 TormozIT
 
гуру
19.07.15
10:40
В общем комбинированный способ из
- Net time \\<ComputerName> - наибольшее покрытие
- w32tm /stripchart /computer:<ComputerName> /dataonly

Неплохо (не 100%) покрывает имеющиеся ситуации.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший