Как мигрировать контроллер домена с системы Server 2003 на 2008
Для того, чтобы мигрировать контроллер домена на базе Windows Server 2003 R2 Enterpise на систему Windows Server 2008 R2 Enterprise и пойдет речь в данно й заметке.
Это делается для того, чтобы научиться управлять всеми возможностями новой среды, стать так сказать более продуктивнее. Многие заметки на моем блоге — это действительно показывают, причем наглядно и это не пустые слова, об этом говорит статистика их просмотров. Но довольно лирики, перейду к пошаговым шагам которые я изложу в этой заметке.
Контроллер домена развернутый ранее ( Windows Server 2003 R2)
и система Windows Server 2008 R2 ( заострять внимание как развернуть данную систему смысла не вижу, у меня UAC отключен) в той же подсети.
И так у меня есть существующий домен, polygon.local. Сетевые настройки точно такие же, как и в моей предыдущей заметке, которая по сути и является основной, а текущая ее продолжением.
Выделю основную цель: — развернуть контроллер домена на новой операционной системе, а предшествующий контроллер домена освободить от занимаемых функций, в пользу нового.
Проверим на dc1.polygon.local – кто же является обладателем всех FSMO— ролей.
Роль PDC Emulator – консоль Active Directory – Users and Computers
Роль RID Master – консоль Active Directory – Users and Computers ( Хозяин относительных идентификаторов)
Роль Infrastructure Master – консоль Active Directory – консоль Users and Computers ( Хозяин инфраструктуры )
Роль Domain Naming Master – консоль Active Directory – Domains and Trusts ( Хозяин именования доменов)
Роль Schema Master ( Хозяин схемы) — специальная консоль. Которая содержит оснастку Active Directory Schema ( Схема Active Directory)
Win + R → cmd.exe → вызываем утилиту netdom ( но есть одно, но данная утилита по умолчанию не установлена в системе, для ее установки потребуется пакет Support Tools, обычно он идет в комплекте с дистрибутивом, в данный пакет также входять такие необходимые подготовительные утилиты, как:
dcdiag – средство для диагностики контроллера домена на работоспособность с целью исправить все обнаруженные ошибки (запуск ее перед миграцией очень важен)
C:\Documents and Settings\Administrator>netdom query fsmo
Schema owner dc1.polygon.local
Domain role owner dc1.polygon.local
PDC role dc1.polygon.local
RID pool manager dc1.polygon.local
Infrastructure owner dc1.polygon.local
The command completed successfully.
, как видно все FSMO роли принадлежат контроллеру домена dc1.
Далее установленную систему Windows Server 2008 R2 Enterprise с именем dc2 вводим в домен, предварительно предопределив статический IP адрес, к примеру: 10.9.9.2
dc2: Win + R → cmd.exe →
C:\Users\Administrator>netsh interface show interface
Admin State State Type Interface Name
Enabled Connected Dedicated Local Area Connection
C:\Users\Administrator>netsh interface ipv4 set address «Local Area Connection» static 10.9.9.2 255.255.255.0
C:\Users\Administrator>netsh interface ipv4 set dns name=»Local Area Connection» static 10.9.9.1 primary
C:\Users\Administrator>netdom join %computername% /domain:polygon.local /userd:polygon.local\ekzorchik /passwordd:*
Type the password associated with the domain user:
The computer needs to be restarted in order to complete the operation.
The command completed successfully.
Перезагружаем систему, чтобы применились изменения и система стала полноправным членом домена : C:\Users\Administrator>shutdown /r /t 3
Следующий этап: — это обновление домена и леса , для этого нужно из установочного диска Windows Server 2008 R2 подмонтированного на логический диск D: — скопировать полностью папку (« adrep”) и переместить ее на домен контроллер dc1:
Win + R → cmd.exe
C:\Users\Administrator>hostname
C:\Users\Administrator>mkdir \\dc1\c$\support
C:\Users\Administrator>copy d:\support\adprep \\dc1\c$\support
44 file(s) copied.
На заметку: Если система dc1 у Вас 32— х битная то запускать следует исполняемый файл adprep32.exe, а если 64- х битная то adprep.exe
У меня dc1 – 64-х битный, поэтому и запускаем файл adprep.exe с ключами forestprep ( как держатель мастер схемы) и после domainprep ( как держателе инфраструктуры). Порой в небольшой организации (к примеру в которой я сейчас работаю) все эти роли обычно имеют место быть на одном из том же контроллере домена:
На заметку: при подготовке леса необходимо войти в мастер схемы в качестве члена группы Администраторов для схемы, предприятия и домена.
C:\Documents and Settings\Administrator>cd /d c:\
C:\>hostname
C:\>cd support
C:\support>adprep.exe /forestprep
если ничего не происходит, значит делаем по другому, а именно монтируем iso Образ дистрибутива Windows Server 2008 R2 к системе Windows Server 2003 R2 на логический диск D:
и через вызов командной строки: Win + R → cmd.exe
C:\>d:\support\adprep\adprep.exe /forestprep
Before running adprep, all Windows 2000 Active Directory Domain Controllers in t
he forest should be upgraded to Windows 2000 Service Pack 4 (SP4) or later.
If ALL your existing Windows 2000 Active Directory Domain Controllers meet this
requirement, type C and then press ENTER to continue. Otherwise, type any other
key and press ENTER to quit.
C — на предупреждение вводим « C” и нажимаем Enter, чтобы начать подготовку леса. ( процесс отрабатывает довольно долго)
Opened Connection to DC1
SSPI Bind succeeded
Current Schema Version is 31
Upgrading schema to version 47
Logging in as current user using SSPI
Importing directory from file «C:\WINDOWS\system32\sch32.ldf»
18 entries modified successfully.
И много всякой успешной информации которую я не буду здесь приводить.
Adprep successfully updated the forest-wide information.
Результирующим завершения команды должна быть надпись : Adprep successfully updated the forest-wide information.
После этого вводим команду:
C:\>d:\support\adprep\adprep.exe /domainprep /gpprep
Adprep detected that the domain is not in native mode
Adprep has stopped without making changes.
Configure the domain to run in native mode and re-run domainprep
поправить данное не выполнение команды можно так:
Start – Control Panel – Administrative Tools – Active Directory Users and Computers
выделяем домен polygon.local и через правый клик изменяем режим работы домена:
polygon.local – Raise Domain Functional Level
Привести к виду: выбрав вместо Windows 2000 native → Windows Server 2003 и нажать Raise ( Изменить)
и после подтвердить нажав OK
(Перевод: Это изменение затрагивает весь домен. После повышения режима работы домена его невозможно отменить.)
После будет информативное окно, что:
(Перевод: Режим работы успешно повышен. Новый режим работы будет реплицирован на каждый контроллер домена в домене. Время, которое на это потребуется, зависит от топологии репликации.)
После этого снова запускаем командную строку и набираем:
C:\>d:\support\adprep\adprep.exe /domainprep /gpprep
Adprep successfully updated the domain-wide information.
Adprep successfully updated the Group Policy Object (GPO) information.
Далее разрешим обновление контроллеров домена с доступом только для чтения.
C:\>d:\support\adprep\adprep.exe /rodcprep
Вот основные шаги по обновления схемы завершены, приступим к повышению роли нового сервера ( dc2) до контроллера домена.
На сервере Dc2: логинимся под доменной учетной запись обладающей правами « Domain Adminis”, в моем случае это учетная запись ekzorchik и вызываем утилиту dcpromo: Win +R > dcpromo
ставим галочку: Use advanced mode installation – Next – Next – Existing forest – Add a domain controller to an existing domain ( добавить домен контроллер в существующий домен) — Next – проверяем настройки аутентификации: (должно быть так как указано на скриншоте ниже)
и нажимаем Next – выбираем домен polygon.local (forest root domain) – Next – выбираем текущий сайт (у меня он один) Default-First-Site-Name – Next – активируем установку ( Ставим галки) следующих опций на вводимом в эксплуатацию контроллере домена, таких как:
Далее соглашаемся Yes – отмечаем пункт Replicate data over the network from an existing domain controller – Next – отмечаем пункт Use this specific and appropriate domain controller ( выделяем dc1.polygon.local) – Next – местонахождение каталогов NTDS (Database), NTDS (Log), SYSVOL оставляем дефолтным — Next – задаем пароль для Административной учетной записи на случай восстановления: — я указываю 712mbddr@ — Next – Next – начнется процесс преобразования
и ставим в этом процессе галочку « Reboot on completion” — перезагрузить систему ( dc2) когда процесс становления контроллера домена завершится успешно, дабы активировать изменения.
Теперь у меня есть два контроллера домена, работающих одновременно.
Дальше нужно передать роли FSMO с dc1 на dc2, сделать это можно двумя различными способами:
- Первый способ: через графический интерфейс
- Второй способ: через консольную утилиту ntdsutil.exe
У меня уже есть совмещенная заметка где описаны оба способа: ( см заметку: http://www.ekzorchik.ru/2012/09/server-2008-fsmo-roles-move/ )
Если же Вам нужно удалить неисправный контроллер домена (см. заметку:
Вот собственно и все, с чем я хотел познакомить читателей моего блога, но и про себя не забыл подробным руководством, что и как сделать. Данный процесс я проводил в одной организации в которой имел место работать. Если у меня будут какие либо неполадки в следствии этой миграции то они обязательно лягут в основу расписанных заметок. До встречи, с уважением автор блога ekzorchik.
Как мигрировать DC с системы Server 2008 R2 на Server 2016
Задача: Нужно проработать процесс миграции домена на базе Windows Server 2008 R2 на Windows Server 2016
От моего коллеги по работе поступила задумка, а реально ли смигрировать текущий домен контроллер на базе Windows Server 2008 R2 Enterprise на систему с осью Windows Server 2016 Standard, в итоге новый контроллер домена будет обладать повышенными возможностями по управлению инфраструктурой. Да и пора уже избавиться от железной составляющей текущего домена на переход под Hyper-V система виртуализации которой используется в организации где я сейчас работаю.
Данная задача прорабатывается под Virtulbox основной системы Ubuntu 18.04 Desktop amd64 ноутбука Lenovo E555
- srv-dc1.polygon.local (на базе Windows Server 2008 R2 Enterprise) с ролями: AD DC,DHCP,DNS
- IP address: 10.90.90.2/24
C:\Users\Administrator>netsh firewall set icmpsetting 8 enable
- Login: ekzorchik
- Pass: 712mbddr@
- Group: Domain Admins, Schema Admins, Enterprise Admins
C:\Windows\system32>netdom query fsmo
- Schema master srv-dc1.polygon.local
- Domain naming master srv-dc1.polygon.local
- PDC srv-dc1.polygon.local
- RID pool manager srv-dc1.polygon.local
- Infrastructure master srv-dc1.polygon.local
- The command completed successfully.
srv-dc2.polygon.local (на базе Windows Server 2016) пока без ролей
IP address: 10.90.90.3/24
C:\Users\Администратор>netsh firewall set icmpsetting 8 enable
Шаг №1: Авторизуюсь под локальной учетной записью «Администратор» на srv-dc2. Ввожу данную систему в домен polygon.local.
Win + R → control.exe → Система — «Изменить параметры» — вкладка «Имя компьютера» окна «Свойства системы» нажимаю «Изменить», отмечаю галочкой «Является членом»: Домена и указываю домен: polygon.local, затем нажимаю кнопку «ОК».
На заметку: Не забудьте в настройках сетевой карты хоста srv-dc2 указать DNS сервер системы srv-dc1 иначе получите ошибку: «При запросе DNS записи ресурса размещения службы (SRV), используемой для нахождения контроллера домена Active Directory для домена «polygon.local«, произошла ошибка:
Произошла ошибка: «Для локальной системы не настроено ни одного DNS-сервера.»»
Итак, DNS-сервер прописан в свойствах сетевого адаптера, при попытке ввода системы в домен понадобится знание учетных данных обладающих правами «Администраторы Домена (Domain Admins) или обладающих правами делегированных. Авторизую систему для присоединения к домену
- Имя пользователя: ekzorchik
- Пароль: 712mbddr@
и нажимаю «ОК» окна «Безопасность Windows», обязательно Вы должны увидеть окно: «Добро пожаловать в домен polygon.local». Перезагружаю систему для активации изменений, затем нажимаю сочетание клавиш «Ctrl + Alt + Del» и авторизуюсь в системе также под учетной записью входящей в группы которые есть в учетной записи ezkorchik если у Вас она отличается.
Шаг №2: Делаю систему srv-dc2 контроллером домена:
Win + R → control.exe или Win + X → «Панель управления» — «Администрирование» — «Диспетчер серверов» — «Панель мониторинга» — «Добавить роли и компоненты» — «Установка ролей или компонентов» — Выберите сервер из пула серверов: srv-dc1.polygon.local — отмечаю галочкой роль «Доменные службы Active Directory» — нажимаю «Добавить компоненты» — «Далее» — «Далее» — отмечаю галочкой «Автоматический перезапуск конечного сервера, если требуется» и нажимаю «Установить».
Теперь настройка устанавливаемых компонент:
Win + R → control.exe или Win + X → «Панель управления» — «Администрирование» — «Диспетчер серверов» — «AD DS»:
«Доменные службы Active Directory — требуется настройка на srv-dc2» → нажимаю «Подробнее» — «Повысить роль этого сервера до уровня контроллера домена». Операцию развертывания выбираю:
«Добавить контроллер домена в существующий домен»
- Домен: «polygon.local»
Для выполнения этой операции введите учетные данные: нажимаю «Изменить», т. к. сейчас подставлены svr-dc2\Администратор (текущий пользователь) и указываю:
- Логин: ekzorchik
- Пароль: 712mbddr@
и нажимаю «ОК», потом «Далее» окна «Мастер настройки доменных служб Active Directory». Параметры контроллера домена оставляю дефолтными (это отмеченные галочкой DNS-сервер, Глобальный каталог (GC)), но обязательно нужно указать пароль для режима восстановления служб каталогов (DSRM):
- Пароль: 712bmddr@
- Подтверждение пароля: 712mbddr@
и нажимаю «Далее» — «Далее», указываю откуда отреплицировать данные:
- Источник репликации: srv-dc1.polygon.local
и нажимаю «Далее» — «Далее» — «Далее» — «Далее», обязательно следует убедиться в появлении надписи «Все проверки готовности к установке выполнены успешно» и только тогда нажимаем «установить». В процесс система будет перезагружена. Авторизуюсь с использованием учетных данных login: ekzorchik
Шаг №3: Проверяю количество домен контроллеров и отсутствие ошибок в домена с использованием команд:
Win + X — Командная строка (администратор)
C:\Windows\system32>netdom query dc
Список контроллеров домена с учетными записями в домене:
Команда выполнена успешно.
Отобразить текущий функциональный уровень леса:
C:\Windows\system32>dsquery * «CN=Partitions,CN=Configuration,DC=polygon,DC=local» -scope base -attr msDS-Behavior-Version
4 → где данное число расшифровывается, как Windows Server 2008 R2 operating system and later
Отобразить текущий функциональный уровень домена:
C:\Windows\system32>dsquery * «dc=polygon,dc=local» -scope base -attr msDS-Behavior-Version ntMixedDomain
4 0 → Windows Server 2008 operating system or later DCs in the domain
Шаг №4: Захватываю все роли с srv-dc1 на srv-dc2:
C:\Windows\system32>ntdsutil
- ntdsutil: roles
- fsmo maintenance: connection
- server connections: connect to server srv-dc1.polygon.local
Привязка к srv-dc1.polygon.local …
Подключен к srv-dc1.polygon.local с помощью учетных данных локального пользователя.
- server connections: quit
Затем применительно к каждой роли FSMO производим захват/миграцию:
fsmo maintenance: seize schema master
fsmo maintenance: seize naming master
fsmo maintenance: seize pdc
fsmo maintenance: seize rid master
fsmo maintenance: seize infrastructure master
[stextbox style=»color: #ff00ff;»>На заметку: На все вопросы по захвату ролей нажимаю «Да»[/stextbox]После не забываем выйти из консоли команды ntdsutil вводом quit.
fsmo maintenance: quit
ntdsutil: quit
C:\Windows\system32>
Проверяю кто сейчас держит роли FSMO:
C:\Windows\system32>netdom query fsmo
- Хозяин схемы srv-dc2.polygon.local
- Хозяин именования доменов srv-dc2.polygon.local
- PDC srv-dc2.polygon.local
- Диспетчер пула RID srv-dc2.polygon.local
- Хозяин инфраструктуры srv-dc2.polygon.local
Команда выполнена успешно.
Так осталось перевести роль «Хозяина схемы» и «Хозяина именования доменов»:
C:\Windows\system32>powershell
PS C:\Windows\system32> Move-ADDirectoryServerOperationMasterRole -Identity «srv-dc2» -OperationMasterRole 4
Перемещение роли хозяина операций
Вы хотите переместить роль «DomainNamingMaster» на сервер «srv-dc2.polygon.local«?
[Y] Да — Y [A] Да для всех — A [N] Нет — N [L] Нет для всех — L [S] Приостановить — S [?] Справка(значением по умолчанию является «Y») :A
PS C:\Windows\system32> Move-ADDirectoryServerOperationMasterRole -Identity «srv-dc2» -OperationMasterRole 3 -force
Перемещение роли хозяина операций
Вы хотите переместить роль «SchemaMaster» на сервер «srv-dc2.polygon.local«?
[Y] Да — Y [A] Да для всех — A [N] Нет — N [L] Нет для всех — L [S] Приостановить — S [?] Справка(значением по умолчанию является «Y»): A
PS C:\Windows\system32> exit
Чтобы отобразить какой теперь функциональный уровень домена:
C:\Windows\system32>dsquery * «dc=polygon,dc=local» -scope base -attr msDS-Behavior-Version ntMixedDomain
4 0 — где данное значение расшифровывается, как Windows Server 2012 R2
Чтобы отобразить версию схемы Active Directory Schema:
C:\Windows\system32>dsquery * «CN=Schema,CN=Configuration,dc=polygon,dc=local» -scope base -attr objectVersion
87 — где данное значение расшифровывается, как Windows Server 2016, а все из-за того, что я в текущем домене сделал контроллером домена новую систему, а значит и могу поднять функциональный уровень домена и уровень леса.
Шаг №5: Удаляю контроллер домена под управлением Windows Server 2008 R2 из глобального каталога . На Server 2016 (srv-dc2) открываю оснастку:
Win + X — Панель управления — Администрирование — «Active Directory Сайты и Службы» и выделяю левой кнопкой мыши сервере srv-dc1 который являлся контроллером домена ранее в текущей сайте «Default-First-Site-Name» на NTDS Settings снимаю в свойствах галочку с настройки «Глобальный каталог»
проделываю все указанные там действия. Выключаю srv-dc1
C:\Windows\system32>ntdsutil
- ntdsutil: metadata cleanup
- metadata cleanup: connections
- server connections: connect to server srv-dc2
Подключен к srv-dc2 с помощью учетных данных локального пользователя.
- server connections: quit
- metadata cleanup: select operation target
- select operation target: list sites
select operation target: select site 0
Нет текущего домена
Нет текущего сервера
Нет текущего контекста именования
select operation target:
- select operation target: list servers in site
Найдено серверов: 2
select operation target:
- select operation target: select server 0
- select operation target: list domains
select operation target: select domain 0
Объект DSA — CN=NTDS Settings,CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local
Имя DNS-узла — srv-dc1.polygon.local
Объект-компьютер — CN=SRV-DC1,OU=Domain Controllers,DC=polygon,DC=local
Нет текущего контекста именования
- metadata cleanup: remove selected server
Передача или захват ролей FSMO от выбранного сервера.
Удаление метаданных FRS для выбранного сервера.
Поиск членов FRS в «CN=SRV-DC1,OU=Domain Controllers,DC=polygon,DC=local».
Удаление поддерева в «CN=SRV-DC1,OU=Domain Controllers,DC=polygon,DC=local».
Ошибка при попытке удалить параметры FRS на CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local: «Элемент не найден.»;
очистка метаданных продолжается.
«CN=SRV-DC1,CN=Servers,CN=Default-First-Site-Name,CN=Sites,CN=Configuration,DC=polygon,DC=local» удалена с сервера «srv-dc2»
Из оснастки DNS сервера svr-dc2 удаляем все упоминания об srv-dc1. И переопределяем DNS-сервер в настройках сетевого адаптера хоста srv-dc2 с 10.90.90.2 на 10.90.90.3
Шаг №7: Проверяю текущий домен контроллер на наличие ошибок: dcdiag & repadmin
PS C:\Windows\system32> repadmin /syncall
СООБЩЕНИЕ ОБРАТНОГО ВЫЗОВА: Завершена операция SyncAll.
Команда SyncAll завершена без ошибок.
PS C:\Windows\system32> repadmin /showrepl
Repadmin: выполнение команды /showrepl контроллере домена localhost с полным доступом
Параметры DSA: IS_GC
Параметры сайта: (none)
DSA — GUID объекта: 401b3342-854f-4eb4-8261-ff6ce3848354
DSA — код вызова: 20507c04-d7a4-4a88-9eae-7a6dbd015321
Шаг №8: Изменяю режим работы леса с Windows Server 2008 R2 на Windows Server 2016 через оснастку «Active Directory — домены и доверие» щелкнув правой кнопкой мыши по надписи «Active Directory — домены и доверие» открытой оснастки, затем выбрав элемент меню «Изменение режима работы леса» и изменяю режим работы леса на «Windows Server 2016» и нажимаю «Изменить» — «ОК» окна «Повышение режима работы леса». Или можно через консоль командной строки powershell проделать это:
C:\Windows\system32>powershell
(C) Корпорация Майкрософт (Microsoft Corporation), 2016. Все права защищены.
PS C:\Windows\system32> Set-ADDomainMode -identity polygon.local -DomainMode Windows2016Domain
PS C:\Windows\system32> Set-ADForestMode -identity polygon.local -ForestMode Windows2016Forest
Проверить, что команды выше отработали как надо можно так:
PS C:\Windows\system32> get-addomain | fl Name,DomainMode ;get-adforest | fl Name,ForestMode
- Name : polygon
- DomainMode : Windows2016Domain
- Name : polygon.local
- ForestMode : Windows2016Forest
Результат положителен. Я успешно оформил как заметка, как повысить домен до уровня Windows2016 путем захвата всех ролей на новом домен контроллере под управлением Windows Server 2016 Standard.
Шаг №9: Не забываем, раз на srv-dc1 был DHCP сервер, то его стоило забекапить, а потом импортировать на srv-dc2, либо же если настроек не много и Вы все помните, то установить роль DHCP сервиса и настроить область выдачи IP— адресов .
[stextbox style=»color: #ff00ff;»>На заметку: Не обязательно иметь в локальной сети DHCP сервис на базе Windows, можно чтобы он был и на сетевом оборудовании, к примеру Mikrotik. У меня так.[/stextbox]Может так случить, что служба работает, но развернутая область не активна. В логах есть ошибки на этот счет: Event ID 1056
Служба DHCP обнаружила, что она запущена на контроллере домена (DC) и не имеет учетных данных, настроенных для использования с динамическими DNS-регистрациями, производимыми службой DHCP. Подобная конфигурация безопасности не рекомендуется. Учетные данные динамических DNS-регистраций можно настроить с помощью утилиты командной строки « netsh dhcp server set dnscredentials » или с помощью программы администрирования DHCP.
C:\Windows\system32> netsh dhcp server set dnscredentials ekzorchik poligon.local 712mbddr@
Пока проблема не поднимается. Нет нужно было удалить текущую область и заново не торопясь его создать и настроить.
Шаг №10: Проверяю, что рабочая станция может стать членом текущего домена и авторизоваться в нем.
C:\Users\alektest>hostname
C:\Users\alektest>ipconfig
Настройка протокола IP для Windows
Ethernet adapter Подключение по локальной сети:
DNS-суффикс подключения . . . . . : polygon.local
Маска подсети . . . . . . . . . . : 255.255.255.0
Основной шлюз. . . . . . . . . : 10.90.90.1
а на srv-dc2:
C:\Users\ekzorchik>dsquery computer
«CN=SYSTEM,CN=Computers,DC=polygon,DC=local» → ну вот и рабочая станция успешно авторизованная в домене.
Итого, заметка работоспособна. Раз получилось сделать в тестовой конфигурации, то как показывает моя практика сделать это можно будет и на боевой инфраструктуре. На этом у меня всё, с уважением автор блога Олло Александр aka ekzorchik.
Используйте прокси ((заблокировано роскомнадзором, используйте vpn или proxy)) при использовании Telegram клиента:
Поблагодари автора и новые статьи
будут появляться чаще 🙂
Карта МКБ: 4432-7300-2472-8059
Yandex-деньги: 41001520055047
Большое спасибо тем кто благодарит автора за практические заметки небольшими пожертвованиями. С уважением, Олло Александр aka ekzorchik.