вторник, 29 декабря 2015 г.

Создание раздела FAT на USB Flash с помощью Windows Vista и выше

В ОС Windows Vista и более поздних версиях существуют проблемы с созданием раздела на USB флэшке в старой файловой системе FAT16. Трудности заключаются в том, что в оснастке управление дисками невозможно удалить существующий раздел и создать раздел меньшего размера(до 2 Гб), чтобы система смогла его отформатировать в FAT16. Выйти из затруднения нам поможет утилита командной строки "diskpart", запущенная с повышенными привилегиями.

Действуем так:
1. "list disk" - просматриваем имеющиеся в системе диски и определяем номер флэшки;
2.  "select disk 2" - выбор диска с номером 2 (номер был получен предыдущей командой);
3.  "clean" - выполняем полную очистку флэшки, при этом все данные на ней будут уничтожены!!!;
4. Далее уже можно воспользоваться графической оснасткой и создать раздел менее 2 Гб. После этого система сможет отформатировать раздел в формате FAT16.
Второй вариант: выполнить команду утилиты "diskpart": "create partition primary size=500" - создаем основной раздел размером 500 Мб;
5. "format fs=fat label="" quick" - выполняем быстрое форматирование нашего раздела в формат FAT16.

Стоит добавить, что в семействе ОС Windows в USB Flash накопителях можно создать только один раздел. Это ограничение на уровне операционной системы.

понедельник, 7 декабря 2015 г.

Отключение или пересоздание коротких имен Windows

По умолчанию каждый раз при создании новых файлов ОС Windows дописывает короткие имена формата 8.3 для поддержки совместимости со старыми приложениями. Если вы уверены, что они вам точно не понадобятся, эту функцию можно отключить для повышения производительности файловой системы.

Для отключения:
Запустите командную строку с повышенными привилегиями и выполните команду: "fsutil 8dot3name query". Система покажет в каком статусе находится настройка коротких имен: 0 - включена, 1 - выключена, 2 - установка на уровне тома. Далее действуем в зависимости от полученного значения: 0 - выполняем "fsutil 8dot3name set 1"; 1 - никаких действий не требуется, короткие имена уже отключены; 2 - отключаем на уровне тома, так для диска C: выполните "fsutil 8dot3name set c: 1".

Иногда бывают противоположные ситуации, когда короткие имена были отключены и очищены, а некоторое ПО при этом отрабатывает некорректно. Для решения проблемы выполните следующие шаги:
1. Перезагрузите компьютер в безопасном режиме с поддержкой командной строки (F8 или Shift + "Перезагрузка").
2. Выполните противоположные действия, описанные выше, для включения коротких имен.
3. Теперь необходимо создать недостающие имена. Например, для восстановления PROGRA~1 выполните: "fsutil file setshortname "Program Files" PROGRA~1"
4. Удостоверьтесь в том, что короткое имя добавилось: "dir /x c:\".

понедельник, 2 ноября 2015 г.

Как подсчитать количество символов в строке с помощью скрипта CMD

Данный код поможет решить задачу по подсчёту количества символов в случайной строке:

********************************************************************************
@echo off
set my_string=This is my string!
call :strlen result my_string
echo %my_string%
echo strlen %result%
pause
goto :eof

:strlen
(  
    setlocal EnableDelayedExpansion
    set "s=!%~2!#"
    set "len=0"
    for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do (
        if "!s:~%%P,1!" NEQ "" (
            set /a "len+=%%P"
            set "s=!s:~%%P!"
        )
    )
)
(
    endlocal
    set "%~1=%len%"
    exit /b
)

********************************************************************************

воскресенье, 1 ноября 2015 г.

Сброс локальных политик безопасности до первоначальных значений

Иногда база локальных политик безопасности может быть повреждена вирусной активностью или некорректными настройками, сделанными в оснастке "Локальные параметры безопасности" (secpol.msc). В этом случае для восстановления первоначальных значений всех параметров политик выполните следующую команду в строке CMD:

Для Windows XP/2003:

secedit /configure /cfg %windir%\repair\secsetup.inf /db secsetup.sdb /verbose

Для Windows Vista и выше:

secedit /configure /cfg %windir%\inf\defltbase.inf /db defltbase.sdb /verbose

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

четверг, 29 октября 2015 г.

Некорректное отображение размера тома диска после его расширения в Windows Vista или Windows Server 2008

Данная проблема характерна только для версий ОС Windows Vista/2008. Проявляется в том, что после расширения тома NTFS с помощью оснастки "Управление дисками" в свойствах логического диска отображается старое значение размера тома:


Для решения проблемы выполните следующие шаги:

1. Запустите командную строку CMD с повышенными привилегиями.
2. Войдите в утилиту DISKPART.
3. Выполните "list volume", чтобы увидеть все доступные тома на компьютере. Найдите среди них расширенный том.
4. Выберите том командой "select volume ваш_том", где ваш_том - имя диска (например C,D и тд).
5. Выполните команду "extend filesystem".
6. Зайдите повторно в свойство логического диска и убедитесь в том, что проблема устранена.


среда, 28 октября 2015 г.

Как проверить членство компьютера в домене Active Directory через командную строку CMD

Чтобы узнать, находится ли данный компьютер в домене Windows - воспользуйтесь следующим кодом:

******************************************************************************
@echo off
for /f "tokens=2 delims==" %%A in (
'wmic computersystem get partofdomain /value ^| find /i "PartOfDomain"'
) do set part_of_domain=%%A
if %part_of_domain%==TRUE (echo Computer in Domain) else (echo Computer in Workgroup)
******************************************************************************

вторник, 27 октября 2015 г.

Как получить FQDN и NetBIOS имена домена Windows через командную строку CMD

Для получения названия текущего домена компьютера в командном процессоре CMD воспользуйтесь следующими строками кода:

Скрипт для получения FQDN:
************************************************************************
@echo off
for /f "tokens=2 delims==" %%A in (
'wmic computersystem get domain /value ^| find /i "Domain"'
) do set domain_name=%%A
echo %domain_name%
************************************************************************

Скрипт для получения короткого имени NetBIOS:
************************************************************************
@echo off
For /F "tokens=2 delims==" %%A in (
'wmic computersystem get domain /value ^| find /i "Domain"'
) do (for /f "tokens=1 delims=." %%B in ("%%A") do set domain_name=%%B)
echo %domain_name%
************************************************************************

вторник, 20 октября 2015 г.

VMware PowerCLI: скрипт очистки хранилища ESXi от полупустых папок c .png файлами скриншотов

Функционал VM Monitoring - настройка кластера vSphere, делает снимок экрана виртуальной машины и перегружает её в случае отсутствия heartbits от VMware Tools. При этом сам скриншот помещается в папку с файлами виртуальной машины в формате .png. Проблема заключается в том, что при дальнейшем удалении данной виртуалки vSphere оставляет на хранилище хвосты в виде самой папки и файлов скриншотов. Для поиска и удаления этих остатков можно воспользоваться следующим PowerCLI скриптом:

# FQDN of your vCenter Server
$viserver = "your_vcenter_server.name"
#
# Add PowerCLI snapin
Add-PSSnapin vmware.vimautomation.core -ErrorAction:SilentlyContinue
# Connect to VI Server
Connect-VIServer $viserver
# Save location
$loc = Get-Location
# Get all datastores
$dsObject = Get-Datastore
# For each datastore create PSDrive
foreach ($datastore in $dsObject)
{
# Searching only for VMFS type datastores
 if ($datastore.Type -eq "VMFS")
 {
# Create a new PSDrive to current datastore
  New-PSDrive -Location $datastore -name ds -PSProvider VimDatastore -root '\' | Out-Null
  Write-Host "Searchin on datastore" $datastore"..."
# Set location to that drive
  Set-Location ds:
# Get folder's list on datastore
  $dsfolders = Get-ChildItem
# Searching all folders without .vmx, .vmtx files and only with .png files.
  foreach ($dsfolder in $dsfolders)
  {
   if (!(test-path "$dsfolder\*.vmx") -and !(test-path "$dsfolder\*.vmtx") -and (test-path "$dsfolder\*.png"))
   {
# Removing .png files in current folder
    Write-Host "Remove all .png files in folder:" $dsfolder
    Remove-Item "$dsfolder\*.png"
# Removing folder if it's empty
    if ((Get-ChildItem "$dsfolder\*" | Measure-Object).count -lt 1)
    {
     Remove-Item $dsfolder
     Write-Host "Delete:" $dsfolder
    }
   }
  }
# Set previous location
  Set-Location $loc
# Removing PSDrive
  Remove-PSDrive -name ds
 }
}

Данный скрипт позволит почистить все папки на хранилище ESXi формата VMFS, содержащие только файлы формата .png. Вся остальная информация останется нетронутой.
Перед запуском не забудьте исправить FQDN vCenter Server.

вторник, 21 июля 2015 г.

Резервное копирование и восстановление Active Directory на Windows Server 2012

Для выполнения резервного копирования сервера на Windows 2012 вполне достаточно встроенного компонента "Система архивации данных Windows Server". Сначала добавьте сервис через "Мастер добавления ролей и компонентов".


Далее можно приступать непосредственно к настройке бэкапа:
1. Откройте консоль "Система архивации данных Windows Server" и запустите мастер "Расписание архивации...".


2. На первом шаге просто нажмите "Далее".


3. В конфигурации архивации выберите "Настраиваемый".


4. Установите галочку напротив "Состояния системы". Этого будет вполне достаточно для восстановления.


5. Задайте расписание архивации.


6. Местом назначения удобнее и надежнее всего сделать удалённую сетевую папку, например второй контроллер домена, а его в свою очередь бэкапить на первый.


7. Далее укажите точный путь к сетевой папке.


8. Перед завершением мастера ещё раз проверьте корректность всех настроек и нажмите "Готово".


9. Созданное задание по архивированию можно будет найти в планировщике заданий по пути: "Библиотека планировщика заданий -> Microsoft -> Windows -> Backup".


10. Также не забудьте прописать пользователя, под которым будет запускаться архивирование состояния системы, в групповую политику "Default Domain Controller Policy -> Конфигурация компьютера -> Политики -> Конфигурация Windows -> Параметры безопасности -> Локальные политики -> Назначение прав пользователя -> Вход в качестве пакетного задания".


Восстановление Active Directory обязательно выполняется в режиме DSRM ("Directory Services Restore Mode" - "Режим восстановления служб каталогов"). Для включения данного режима нажмите "F8" перед стартом ОС, чтобы появились дополнительные варианты загрузки.


Другой вариант попасть в DSRM: выполнить команду "shutdown -r -o -t 0" для загрузки ОС в режим диагностики и там уже указать системе предложить дополнительные варианты загрузки.




И последний способ: использовать "msconfig", чтобы указать параметры загрузки (в нашем случае выбираем "Безопасный режим -> Восстановление Active Directory"). Необходимо добавить, что это единственный способ загрузиться в режиме DSRM без наличия роли контроллера домена у сервера.


Рассмотрим два сценария восстановления:

Первый, когда выходит из строя аппаратная часть, и необходимо её полностью заменить. При этом понадобится предварительно установить на новый сервер чистую ОС той же версии, с тем же сервис паком, которая была на контроллере. Желательно, чтобы совпадали и версии браузера IE. Также нужно заранее добавить компонент "Система архивации данных Windows Server".

Последовательность действий такая:
1.  Находясь в режиме DSRM, откройте консоль "Система архивации данных Windows Server" и запустите мастер "Восстановить...".


2. Укажите, что архив находится в другом расположении.


3. Далее выберите удалённую общую папку.


4. Выберите нужный архив.


5. Укажите, что хотите восстановить состояние системы.


6. Выберите "Исходное размещение" для восстановления и обязательно установите галочку "Выполнить заслуживающее доверия восстановление файлов Active Directory".


7. После сделанных настроек запускаем восстановление, соглашаясь со всеми предупреждениями системы.


8. По окончании сервер необходимо будет перезагрузить. Все изменения в Active Directory, сделанные после резервного копирования, будут автоматически реплицированы с других контроллеров домена.

По второму сценарию необходимо восстановить случайно удалённые объекты Active Directory: пользователи, группы и т.п. При этом функционал корзины не используется в домене. В этом случае действуем полностью по первому сценарию, за исключением перезагрузки сервера после восстановления. Перед тем как это сделать, запустите консоль "cmd" с повышенными привилегиями и выполните следующие команды:

ntdsutil -> Activate Instance NTDS -> authoritative restore -> Restore subtree "пусть_к_объекту"

Например, для восстановления всех объектов в домене TEST.LOCAL указываем путь "DC=test,DC=local":


Данная команда запретит репликацию по указанному пути с других контроллеров и, таким образом, позволит восстановить объекты Active Directory, существовавшие на момент резервного копирования.

пятница, 17 июля 2015 г.

PowerShell: измерение времени выполнения команд

Для измерения времени выполнения кода в PowerShell существует командлет "Measure-Command". Этот командлет берет команду или блок команд, указанные в фигурных скобках, выполняет внутри себя и в качестве результата выдает время, затраченное на выполнение.

Следующий пример демонстрирует работу с "Measure-Command":

*********************************************************************************

$time = Measure-Command -Expression {Get-Childitem -Path C:\Windows -Filter ?*.txt? -Recurse}
$time.ToString()


********************************************************************************* 

Команда "Get-Childitem -Path C:\Windows -Filter ?*.txt? -Recurse" находит все файлы с расширением .txt в папке Windows и подпапках. Соответственно, затраченное на поиск время будет записано в переменную $time. Далее выводим в консоль значение переменной в виде строки.

четверг, 16 июля 2015 г.

Отключение протокола IPv6 для localhost

Начиная с Vista в семействе Microsoft Windows по умолчанию взаимодействие сервера с собственным именем и локальной "заглушкой" (localhost) происходит по протоколу IPv6 (::1 вместо 127.0.0.1).



Чтобы сохранить совместимость с некоторым ранее написанным ПО, использующим "заглушку", может понадобиться перейти на протокол IPv4.

Для полного отключения IPv6 проделайте следующие шаги:

1. Откройте файл "%SystemRoot%\System32\drivers\etc\hosts" и отредактируйте следующим образом: строку с адресом 127.0.0.1 нужно раскомментировать, а с адресом ::1 - закомментировать.


2. В ключе реестра "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip6\Parameters\" создайте параметр "DisabledComponents" типа DWORD и задайте значение 0х20.


3. Отключите протокол IPv6 в свойствах подключения.


4. Перезагрузите компьютер.

После вышеописанных действий localhost начнёт работать по IPv4.


Собственное имя сервера также будет доступно по IPv4.


понедельник, 13 июля 2015 г.

Создание NIC Teaming на Microsoft Windows Server 2012

Технологией NIC Teaming называют объединение сетевых адаптеров в группу для повышения отказоустойчивости соединения и агрегирования канала с целью увеличения пропускной способности.
Начиная с Windows 2012 нет необходимости устанавливать дополнительное ПО для создания NIC Teaming. Данная возможность была встроена в ОС.

При настройке тиминга следует учесть следующие особенности:
- Windows Server 2012 позволяет объединять в группу до 32 сетевых адаптеров Ethernet.
- Тиминг не Ethernet адаптеров (Bluetooth, Infiniband и пр.) не поддерживается.
- Драйвер сетевого адаптера, включаемого в группу, должен иметь цифровую подпись Windows Hardware Qualification and Logo (WHQL).
- В одну группу можно включать только адаптеры с одинаковой скоростью подключения.

Для создания тиминга в диспетчере серверов нажмите на ссылку напротив "Объединение сетевых карт".


В открывшемся мастере в разделе "Группы" выбираем "Создать группу".


При создании нужно пометить физические адаптеры, которые будут участвовать в тиминге.

Режим поддержки групп может быть следующим:

- Не зависит от коммутатора (предварительная настройка коммутаторов не требуется);
- Статическая поддержка групп (статическая настройка коммутатора IEEE 802.3ad draft v1);
- LACP (на коммутаторах настраивается Link Aggregation Control Protocol IEEE 802.1ax).


Режим балансировки нагрузки может быть следующим:

- Хэш адреса (В этом режиме для сетевого пакета вычисляется хэш на основе адресов отправителя и получателя. Полученный хэш ассоциируется с каким-либо адаптером группы. Все последующие пакеты с таким же значением хэша пересылаются через этот адаптер. Может вычисляться на основе следующих значений: MAC, IP, TCP Port);
- Порт Hyper-V (В этом режиме порт  Hyper-V Extensible Switch, к которому подключена некоторая виртуальная машина, ставится в соответствие какому-либо сетевому адаптеру тиминговой группы.);
- Динамический (В этом случае исходящий трафик разбивается на так называемые flowlets и распределяется по всем адаптерам группы. Данный режим позволяет достичь более равномерного распределения трафика по имеющимся сетевым адаптерам. Доступен только начиная с Windows Server 2012 R2).

Необходимо отметить еще один параметр. По умолчанию все адаптеры группы являются активными для передачи трафика. Однако вы можете один из адаптеров указать в качестве Standby. Это адаптер будет использоваться только в качестве "горячей" замены, если один из активных адаптеров выходит из строя.


Если драйвер сетевой карты поддерживает технологию 802.1Q, то в данном окне также можно настроить необходимый VLAN id.
После нажатия кнопки "ОК" будет создана новая группа NIC Team.


В сетевых подключениях появится новый виртуальный сетевой адаптер, на котором необходимо будет сконфигурировать настройки протокола TCP/IP.

среда, 1 июля 2015 г.

Настройка WIFI адаптера на сервере Windows 2012

По умолчанию на сервере Microsoft Windows 2012 не получится настроить соединение через адаптер WIFI. Сам драйвер без проблем установится и появится соответствующее подключение в настройках сети, но при этом список беспроводных сетей останется пустым. Чтобы решить проблему достаточно добавить компонент "Служба беспроводной локальной сети" ("Wireless LAN Service") в мастере добавления ролей и компонентов. После перезагрузки сервера беспроводные сети заработают аналогично Windows 8.



среда, 6 мая 2015 г.

Переименовывание домена Windows Active Directory

Переименование домена рекомендуется производить только в случае острой необходимости. До начала работ ознакомьтесь со всеми ограничениями, связанными с конфигурацией системного и прикладного ПО (при наличии некоторых версий Microsoft Exchange, Internet Security and Acceleration (ISA) Server, Microsoft Live Communications Server, Microsoft Operations Manager, Microsoft SharePoint, Microsoft Systems Management Server (SMS), Microsoft Office Communications Server и т.д.). В нашем примере мы переименуем домен "TEST.LOCAL" в "LABA.CORP".

Очередность выполнения следующая:
1. Прежде всего проверьте наличие прав администратора предприятия ("Enterprise Admins") и текущий функциональный уровень леса, который должен быть не ниже Windows 2003.
2. Если процедура выполняется на серверах под Windows 2003, необходимо установить "Support Tools", которые находятся на инсталляционном диске с ОС.
3. Подготовьте две новые интегрированные в Active Directory зоны прямого просмотра, в которые будет переезжать ваш домен:
- создайте зону "_msdcs.ВАШ.ДОМЕН" ("_msdcs.laba.corp"), при настройке укажите репликацию на все DNS-серверы в этом лесу;
- создайте зону "ВАШ.ДОМЕН" ("laba.corp"), укажите репликацию на все DNS-серверы в этом домене;
4. Когда репликация DNS завершится, можно приступать к процедуре переименования. Откройте командную строку с повышенными привилегиями на любом контроллере домена и выполните "rendom /list". В текущей директории командной строки сгенерируется файл "Domainlist.xml" с текущими DNS и NetBIOS именами домена.


5. Теперь можно открыть данный файл с помощью любого текстового редактора и заменить в нашем случае DNS имя "TEST.LOCAL" на "LABA.CORP", а NetBIOS имя "TEST" на "LABA". Сохраните сделанные изменения.


6. Выполните "rendom /showforest" для просмотра потенциальных изменений в конфигурации.
7. Загрузите командой "rendom /upload" инструкции переименования и дождитесь полной репликации по всему лесу. Ускорить репликацию можно командой "repadmin /syncall" или с помощью оснастки "dssite.msc".
8. Выполните команду "rendom /prepare" для проверки готовности всех контроллеров домена в лесу к процедуре переименования. Контроллеры сообщат о готовности, ошибок при этом быть не должно.
9. Командой "rendom /execute" будет запущена процедура переименования для каждого контроллера. На период выполнения прерывается работа домена. После окончания процедуры контроллеры будут перезагружены. Если в период выполнения процедуры произойдет ошибка, выполнится откат изменений. Поэтому любой контроллер домена, который завершил процедуру переименования с ошибкой, должен быть понижен до рядового сервера.
10. После загрузки контроллеров домена выполните из командой строки "gpfixup" с необходимыми параметрами для обновления всех ссылок на групповые политики. Пример выполнения на рисунке ниже.


11. Все клиентские компьютеры и рядовые сервера, входящие в домен, должны быть дважды перезагружены. DNS-суффикс на машинах будет обновлен автоматически, если установлена опция "Сменить основной DNS-суффикс при смене членства в домене".
12. Как только пройдет полная репликация в домене после переименования, выполните команду "rendom /clean" для удаления ссылок на устаревшее имя домена из Active Directory.
13. Выполните команду "rendom /end" для прекращения заморозки конфигурации леса и разрешения дальнейших изменений.
14. Дождитесь полной репликации в лесу и приступите к переименованию контроллеров согласно данной инструкции. Это необходимо сделать потому, что на доменных контроллерах суффикс останется прежним ("test.local").


Переименовываем каждый контроллер в нашем примере следующим образом: "ИМЯ_СЕРВЕРА.TEST.LOCAL" на "ИМЯ_СЕРВЕРА.LABA.CORP".


15. После вышеописанных шагов убедитесь в корректной работе леса. При появлении ошибок первым делом проверьте корректно ли были сконфигурированы новые зоны DNS. Внесите необходимые поправки.
16. Если все работы проведены успешно и Active Directory функционирует корректно, можно удалить старые доменные зоны DNS ("_msdcs.test.local" и "test.local"), но в том случае, если они не используются в организации для других целей.

четверг, 30 апреля 2015 г.

Настройка NTP-сервера времени на ОС Windows

За работу сервера и клиента NTP отвечает "Служба времени Windows" ("W32Time").
Для настройки сервера на ОС Windows проделайте следующие шаги:

1. Устанавливаем автоматический запуск сервиса "W32Time". Для этого в ветке реестра
"HKLM\System\CurrentControlSet\Services\W32Time" задаём для параметра "Start" значение 2.

2. Затем открываем "HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpServer" и устанавливаем "Enabled" в единицу.

3. Правим следующие параметры:
- ветка: "HKLM\System\CurrentControlSet\Services\W32Time\Parameters", параметр "Type" может принимать следующие значения:
NoSync - NTP-сервер не синхронизируется с каким-либо внешним источником времени. Используются часы, встроенные в микросхему CMOS самого сервера;
NTP - NTP-сервер синхронизируется с внешними серверами времени, которые указаны в параметре реестра "NtpServer";
NT5DS - NTP-сервер производит синхронизацию согласно доменной иерархии;
AllSync - NTP-сервер использует для синхронизации все доступные источники;

- параметр "NtpServer", где указывается хост, с которым будет синхронизировать время данный сервер. При необходимости можно добавить несколько хостов, введя их DNS имена или IP адреса через пробел. В конце каждого имени через запятую можно добавлять флаг, который определяет режим для синхронизации с сервером времени.
Допускаются следующие значения:
0x1 - SpecialInterval, использование специального интервала опроса;
0x2 - режим UseAsFallbackOnly;
0x4 - SymmetricActive, симметричный активный режим;
0x8 - Client, отправка запроса в клиентском режиме.
При использовании флага "SpecialInterval", необходимо установленное значение интервала в ключе "SpecialPollInterval". При значении флага "UseAsFallbackOnly" службе времени сообщается, что данный сервер будет использоваться как резервный, и перед синхронизацией с ним будут выполняться обращения к другим серверам списка. Симметричный активный режим используется NTP-серверами по умолчанию, а клиентский режим можно задействовать в случае проблем с синхронизацией;

- ветка "HKLM\System\CurrentControlSet\Services\W32Time\Config", параметр "AnnounceFlags" отвечает за то, как о себе заявляет NTP-сервер и может принимать следующие значения:
0x0 (Not a time server) - сервер не объявляет себя через NetLogon, как источник времени. Он может отвечать на NTP запросы, но соседи не смогут распознать его;
0x1 (Always time server) - сервер будет всегда объявлять о себе вне зависимости от статуса;
0x2 (Automatic time server) - сервер будет объявлять о себе только, если он получает надежное время от другого соседа (NTP или NT5DS);
0x4 (Always reliable time server) - сервер будет всегда заявлять себя, как надежный источник времени;
0x8 (Automatic reliable time server) - контроллер домена автоматически объявляется надежным если он - PDC-эмулятор корневого домена леса. Этот флаг позволяет главному PDC леса заявить о себе как об авторизованном источнике времени даже при отсутствии связи с вышестоящими NTP-серверами. Ни один контроллер или рядовой сервер (имеющие по умолчанию флаг 0x2) не может заявить о себе, как о надежном источнике времени, если он не может найти источник для себя.
Значение "AnnounceFlags" может составлять сумму его флагов, например:
10=2+8 - NTP-сервер заявляет о себе как о надежном источнике времени при условии, что сам получает время из надежного источника либо является PDC корневого домена. Флаг 10 задается по умолчанию как для членов домена, так и для отдельно стоящих серверов.
5=1+4 - NTP-сервер всегда заявляет о себе как о надежном источнике времени. Например, чтобы заявить рядовой сервер (не контроллер домена) как надежный источник времени, нужен флаг 5;

- ветка "HKLM\System\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient", параметр "SpecialPollInterval" задается в секундах и по умолчанию его значение равно 604800, что составляет одну неделю. Это довольно много, поэтому стоит уменьшить значение, скажем, до часа (3600).

4. После сделанных настроек можно запускать службу времени: "net start w32time". Если сервис уже работал, примените конфигурацию командой "w32tm /config /update" и перезапустите: "net stop w32time && net start w32time".

5. После перезапуска службы NTP-сервер уже активен и может обслуживать клиентов. Убедиться в этом можно с помощью команды "w32tm /query /configuration". Эта команда выводит полный список параметров службы. Если раздел "NtpServer" содержит строку "Enabled:1", то все в порядке.


6. При запущенном фаерволе не забудьте открыть UDP порт 123 для входящего и исходящего трафика.

вторник, 28 апреля 2015 г.

Настройка точного времени в Windows по протоколу NTP

Для того чтобы настроить автоматическую синхронизацию ОС Windows со сторонним источником времени по протоколу NTP, понадобится правильно сконфигурировать сервис "w32time".
Сначала убедитесь в том, что служба работает или запустите её командой "net start w32time". Затем выполните команду "w32tm /query /status", чтобы получить информацию о статусе службы времени.


Если ранее источник времени не настраивался, то по умолчанию это будет "Local CMOS Clock".
Для настройки службы на определённый сервер NTP используйте следующую команду:

"w32tm /config /manualpeerlist:PEERS /syncfromflags:manual /reliable:yes /update"

где PEERS - DNS имя или IP адрес сервера NTP (можно указать несколько хостов сразу через пробел и в кавычках).


Перезагрузите службу командой "net stop w32time && net start w32time" и сделайте принудительную синхронизацию времени: "w32tm /resync".


В завершении ещё раз проверьте статус службы командой "w32tm /query /status", чтобы убедиться в корректности сделанных настроек. Также не забудьте про то, что NTP сервис доступен по порту 123 UDP, который должен быть открыт в сетевом оборудовании и фаерволах на входящий и исходящий трафик.


Следует помнить, что в доменной среде на внешний источник времени настраивается только контроллер с ролью эмулятора PDC. Остальные члены домена синхронизируются с ним и другими контроллерами. Если этого вдруг не происходит, попробуйте на проблемном хосте выполнить следующую настройку:

"w32tm /config /syncfromflags:domhier /reliable:no /update"

В том случае, если вам нужно сбросить все настройки службы времени, выполните команды:

"net stop w32time"
"w32tm /unregister"
"w32tm /register"
"net start w32time"


Все параметры сервиса вернутся в начальные значения.