вторник, 28 мая 2013 г.

Настройка сервера времени: W2003, W2008

Перепост отсюда: http://it-padla.livejournal.com/5896.html
Чисто для себя, чтобы не забыть.
Спасибо автору.

Возникла проблема с настройкой точного времени.
Покопавшись в интернете, нашёл достаточно полную статью по этой теме.
Что мы имеем, три контроллера домена, работающих под Windows 2003 Server R2, кучу рабочих станций под Windows XP Professional SP3. В качестве ntp сервера в компании служит Cisco 2821
Признаками проблемы на DC, являющемся еще и PDC эмулятором является наличие следующих ошибок в Event log:
1.
Event Type:    Warning
Event Source:    W32Time
Event Category:    None
Event ID:    47
Date:        17.11.2009
Time:        13:21:45
User:        N/A
Computer:    DC04
Description:
Time Provider NtpClient: No valid response has been received from  manually configured peer ntp.mydomain.ua,0×1 after 8 attempts to contact it. This peer will be discarded as a time source and NtpClient will attempt to discover a new peer  with this DNS name.
2.
Event Type:    Error
Event Source:    W32Time
Event Category:    None
Event ID:    29
Date:        17.11.2009
Time:        13:21:45
User:        N/A
Computer:    DC04
Description:
The time provider NtpClient is configured to acquire time from one or more time sources, however none of the sources are currently accessible.  No attempt to contact a source will be made for 15 minutes. NtpClient has no source of accurate time.
3.
Event Type:    Information
Event Source:    W32Time
Event Category:    None
Event ID:    38
Date:        17.11.2009
Time:        14:06:45
User:        N/A
Computer:    DC04
Description:
The time provider NtpClient cannot reach or is currently receiving invalid time data from ntp.mydomain.ua
(ntp.m|0×1|192.168.0.50:123->10.10.72.17:123).
На остальных контроллерах домена, вместо Event ID 47, присутствует Event ID:    24
Event Type:    Warning
Event Source:    W32Time
Event Category:    None
Event ID:    24
Date:        18.11.2009
Time:        6:46:56
User:        N/A
Computer:    DC03
Description:
Time Provider NtpClient: No valid response has been received from domain controller pdacemul.addomain after 8 attempts to contact it. This domain controller will be discarded as a time source and NtpClient will attempt to discover a  new domain controller from which to synchronize.
Итак, вот процедура по восстановлению работоспособности сервиса w32tm
  1. Находим все DC и того, кто из них PDC эмулятор
    netdom query fsmo
  2. на PDC делаем следующее
    w32tm /stripchart /computer:time.windows.com /samples:5 /dataonly 
    которая произведет 5 сравнений с источником, а затем 
  3. w32tm /config /manualpeerlist:time.windows.com /syncfromflags:manual /reliable:yes /update
    которая непосредственно выполнит настройку. Можно указать сразу несколько серверов, в этом случае необходимо раздели имена серверов пробелом и всех их заключит в ковычки: /manualpeerlist:"time.windows.com clock0.macomnet.ru"
     
  4. Теперь проверяю доступность с PDC эмулятора сервера времени.
    portqry –n ntp.mydomain.ua –e 123 –p UDP
    Querying target system called:
    ntp.mydomain.ua
    Attempting to resolve name to IP address…
    Name resolved to 10.10.72.17
    UDP port 123 (ntp service): LISTENING or FILTERED
    Должно быть именно так “LISTENING or FILTERED”
    Эта утилита входит в комплект Support Tools для Windows 2003 Server. К сожалению, на Windows 2008 R2 она не работает.
  5. Затем, с помощью regedit открываю параметры ntp сервера
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServerТам должен быть записан ip адрес или полной имя нашего ntp сервера и запись должна обязательно заканчиваться строкой “,0×1”. Кавычки, понятное дело, нужно убрать. Кстати, к этому суффиксу я вернусь позже. Для уверенности в том, что тут нету ошибки, неплохо бы попингать скопированный оттуда адрес или имя.
  6. Там же, следует перейти к параметру
    HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Typeи убедиться, что там прописано  NTP, а не NT5DS
  7. Теперь следует проверить еще одно значение
    HKLM\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlagsтут должна быть 5
  8. Перезапускаем сервис времени:
    net stop w32time && net start w32time
  9. Теперь перезапускаю синхронизацию:
    w32tm /resync /rediscover
  10. На остальных контроллерах домена рекомендуется запустить:w32tm /unregister
    w32tm /register
    Эта операция удаляет службу времени, а затем снова ее устанавливает, причем, что важно, удаляется, а затем создается заново вся ветка параметров в реестре.
  11. Очень рекомендуется перезапустить контроллер домена, являющийся pdc эмулятором, да и все остальные тоже.
  12. Если на pdc эмуляторе ошибки появляются заново, как в моем случае, то стоит попробовать заменить значение 0×1 на 0×08 в параметре
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\NtpServerчтобы стали посылаться стандартные клиентские запросы.
  13. Перезапускаем сервис времени
    net stop w32time && net start w32time
  14. Очень рекомендуется проверить все политики, имеющие отношение к настройкам сервиса времени, а именно:
    Default Domain Controllers group policy
    Default Domain group policy

    ну и все другие, которые имеют отношение к домен контроллерам, серверам и рабочим станциям и в которых изменены любые значения в разделе
    Computer configuration/Administrative Templates /System/Windows Time service/Time Providers
    Убедитесь, что все значения там в состоянии “not configured”. При необходимости, играть с параметрами следует позже.
  15. Если что-то меняли в политике, то перезапускаем сервис времени:
    net stop w32time && net start w32time
  16. Если и после этого ничего не помогло, то нужно обнулить параметры сервиса времени и на pdc эмуляторе
    net stop w32time

    w32tm /unregister
    w32tm /register
    после чего нужно будет настраивать все параметры заново, начиная с п.3. Если вдруг, на этапе удаления напишет про запрет доступа, то нужно перезагрузиться.
  17. В особо тяжелых случаях может помочь включение лога для сервиса. Для настройки этого используются три параметра в реестре по пути
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config
    Если нижеприведенных ключей там нету, а их нету по умолчанию, то их следует создать
    Value Name: FileLogSize
    Data Type: DWORD
    Value data: 10000000
    Этот параметр определяет максимальный размер файла лога в байтах. Значение 10000000 байт ограничит файл приблизительно в 10 Mb.
    Value name: FileLogName
    Data Type: REG_SZ (String)
    Value data: C:\Test\w32time_log.txt
    Этот параметр определяет место и имя файла лога.
    Value name: FileLogEntries
    Data Type: REG_SZ (String)
    Value: 0-116
    Этот параметр определяет уровень детализации лога. Диапазон значений параметра 0-116.
    (Если ввести туда 0-300, то уровень детализации станет максимальным)
    Вместо изменения значений в реестре, можно то же самое сделать из командной строки

    w32tm /debug /enable /file:C:\Test\w32time_log.txt /size:100000 /entries:0-300
    Чтобы выключить логи отладки можно ввести команду
    w32tm /debug /disable
У меня этот алгоритм сработал и, наконец-то, вопрос с временем был закрыт.
Кстати, проверить что со временем все в порядке можно так:
w32tm /monitor
dc01.addomain [192.168.0.60]:
ICMP: 0ms delay.
NTP: +0.0009899s offset from pdcemul.addomain
RefID: pdcemul.addomain [192.168.0.50]
dc03.addomain [192.168.0.20]:
ICMP: 0ms delay.
NTP: -0.0014416s offset from dc04.addomain
RefID: pdcemul.addomain [192.168.0.50]
pdcemul.addomain *** PDC *** [192.168.0.50]:
ICMP: 0ms delay.
NTP: +0.0000000s offset from pdcemul.addomain
RefID: ntp.mydomain.ua [10.10.72.17]


*****************************
и выдержка из support.microsoft.com
*****************************
 Информация в данной статье относится к следующим продуктам.
  • Windows Server 2012 Standard
  • Windows Server 2012 Essentials
  • Windows Server 2008 R2 Standard
  • Windows Server 2008 R2 Datacenter
  • Windows Server 2008 R2 Enterprise
  • Windows Server 2008 Standard
  • Windows Server 2008 Enterprise
  • Windows Server 2008 Datacenter
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Windows Server 2008 R2 Service Pack 1
Чтобы настроить внутренний сервер времени для синхронизации с внешним источником показаний времени, выполните указанные ниже действия.
  1. Измените тип сервера на NTP. Для этого выполните следующие действия.
    1. Выберите в меню Пуск пункт Выполнить, введите команду regedit и нажмите кнопку ОК.
    2. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters\Type
    3. В правой области щелкните правой кнопкой мыши параметр Тип, а затем выберите команду Изменить.
    4. В появившемся окне Изменение строкового параметра в поле Значение введите NTP и нажмите кнопку ОК.
  2. Присвойте параметру
    AnnounceFlags
    значение 5. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\AnnounceFlags
    2. В правой области щелкните правой кнопкой мыши параметр AnnounceFlags, а затем выберите команду Изменить.
    3. В появившемся окне Изменение параметра DWORD в поле Значение введите 5 и нажмите кнопку ОК.

      Свернуть это изображениеРазвернуть это изображение
      2683283
      Примечания
      • Если полномочный сервер времени, на котором флаг AnnounceFlag равен 0x5, не синхронизируется с вышестоящим сервером, клиентский сервер может неправильно синхронизироваться с ним при возобновлении синхронизации между полномочным сервером времени и вышестоящим сервером. Соответственно, при наличии проблем с сетевым подключением или иных потенциальных причин сбоя синхронизации полномочного сервера с вышестоящим для флага AnnounceFlag следует задать значение 0xA, а не 0x5.
      • Если полномочный сервер времени, на котором флаг AnnounceFlag равен 0x5, синхронизируется с вышестоящим сервером по интервалу SpecialPollInterval, клиентский сервер может неправильно синхронизироваться с ним после перезагрузки полномочного сервера времени. Соответственно, если для полномочного сервера времени настроена синхронизация с вышестоящим NTP-сервером по фиксированному интервалу SpecialPollInterval, для флага AnnounceFlag следует задать значение 0xA, а не 0x5.
  3. Включите сервер NTP. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer
    2. На правой панели щелкните правой кнопкой мыши параметр Enabled, а затем выберите команду Изменить.
    3. В появившемся окне Изменение параметра DWORD в поле Значение введите 1 и нажмите кнопку ОК.
  4. Укажите источники времени. Для этого выполните следующие действия.
    1. Найдите и выделите следующий подраздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Parameters
    2. На правой панели щелкните правой кнопкой мыши параметр NtpServer, а затем выберите команду Изменить.
    3. В появившемся окне Изменение строкового параметра в поле Значение введите Peers и нажмите кнопку ОК.

      Свернуть это изображениеРазвернуть это изображение
      2683283
      Примечание Peers представляет собой перечень узлов, предоставляющих данные о текущем времени. Для разделения имен узлов в списке используются пробелы. Все имена DNS в данном списке должны быть уникальными. В конце каждого имени DNS необходимо добавлять символы ,0x1. Если символы 0x1 не были добавлены в конце каждого имени DNS, то изменения, вносимые на шаге 5, не вступят в силу.
  5. Задайте интервал опроса. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient\SpecialPollInterval
    2. На правой панели щелкните правой кнопкой мыши параметр SpecialPollInterval, а затем выберите команду Изменить.
    3. В появившемся окне Изменение параметра DWORD в поле Значение введите TimeInSeconds и нажмите кнопку ОК.

      Свернуть это изображениеРазвернуть это изображение
      2683283
      Примечание TimeInSeconds – это интервал времени (в секундах) между двумя опросами. Рекомендуется установить его равным 900. В этом случае опрос будет выполняться каждые 15 минут.
  6. Задайте параметры, определяющие максимальную величину коррекции времени. Для этого выполните следующие действия.
    1. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxPosPhaseCorrection
    2. На правой панели щелкните правой кнопкой мыши параметр MaxPosPhaseCorrection, а затем выберите команду Изменить.
    3. В диалоговом окне Изменение параметра DWORD в разделе Система исчисления выберите значение Десятичная.
    4. В появившемся окне Изменение параметра DWORD в поле Значение введите TimeInSeconds и нажмите кнопку ОК.

      Свернуть это изображениеРазвернуть это изображение
      2683283
      Примечание. TimeInSeconds может иметь любое значение в разумных пределах (например, 1 час (3600) или 30 минут (1800)). Данное значение выбирается исходя из величины интервала опроса, состояния сети и типа внешнего источника времени.
    5. Найдите и выделите следующий раздел реестра:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\Config\MaxNegPhaseCorrection
    6. На правой панели щелкните правой кнопкой мыши параметр MaxNegPhaseCorrection, а затем выберите команду Изменить.
    7. В диалоговом окне Изменение параметра DWORD в разделе Система исчисления выберите значение Десятичная.
    8. В появившемся окне Изменение параметра DWORD в поле Значение введите TimeInSeconds и нажмите кнопку ОК.

      Свернуть это изображениеРазвернуть это изображение
      2683283
      Примечание.TimeInSeconds может иметь любое значение в разумных пределах (например, 1 час [3600] или 30 минут [1800]). Данное значение выбирается исходя из величины интервала опроса, состояния сети и типа внешнего источника времени.
  7. Закройте редактор реестра.
  8. Для того, чтобы перезапустить службу времени, введите в командной строке следующую команду и нажмите клавишу Ввод:
    net stop w32time && net start w32time

Изменение печатной формы в 1С V7.

Категорически не понимаю людей, которые на просьбу о помощи начинают выделываться, отвечая тупыми и бессмысленными фразами. Так, на одном из формуов по 1С на вопрос, "Где хранятся печатные формы в 1С?" посыпались ответы, типа "На HDD", "Вызывай программиста", "Учи матчасть" и т.д. Наверное юноши пытаются так самоутвердится, не знаю... Ведь в следующий раз они сами захотят что-то спросить и получат в ответ подобное.
Ладно, это лирика.
Встал вопрос об изменении печатной формы в 1С. Некто додумался в своё время пользоваться не справочниками, а тупо вбить данные сотрудников в форму.
Долго искать не пришлось. Итак.
В первую очередь делаем бэкап (выгрузку).
Загружаем в монопольном (иначе не удастья сохранить изменения) режиме конфигуратор.
Конфигурация - Открыть конфигурацию
Правой клавишей на корне дерева - Общие таблицы

Находим нужную форму, редактируем и закрываем с сохранением.
Проверяем. Если всё хорошо - наслаждаемся.
Если ничего не получилось - восстанавливаем базу из бэкапа и вызываем специалиста.