Къде присъединих станцията?!?

Присъединяването на работна станция към домейн не е кой знае колко трудно. Когато домейнът има само един домейн контролер (ДК )даже е лесно – станцията се присъединява към него и няма какво да я мислим толкова. Представете си обаче, че имате 10 домейн контролера в един АД сайт, които обслужват десетки компюти и HUB-AND-SPOKE топология. В този случай съвсем не е явно към кой ДК ще се присъедини станцията първоначално. Питате се защо е важно ли? Защото тук се намесва репликацията… Няма да изпадам в подробности. Ще кажа само, че за да станат нещата така, както искате и както е по книжка трябва компютърният акаунт за станцията да се е изрепликирал на тези 10 ДК (в случая).

Преди това ето го и на кратко етапите, през които преминава присъединяването:

1. Задавате име на работната станция и рестартирате (това е важно!)

2. Изписвате името на домейна, към който искате да присъедините станцията (препоръчително е да използвате DNS, а не NETBIOS името на домейна!);

3. Windows XP прави проверка на домейна чрез DNS заявка. Целта е да се установи кои са домейн контролерите, които отговарят за домейна (в нашия случай всичките 10 броя). Интересното в случая е, че се претърсва за _ldap SRV записи в подзоната: _tcp.dc._msdcs.yourdomain.com. В нашия случай DNS отговорът ще върне 10 записа;

4. Windows XP анализира DNS отговора и прави “най-добрия” избор според свойствата (Priority и Weight)на всеки от върнатите DNS записи;

5. Създава се машинен акаунт в Активната директория (ако вече няма такъв)с име име_на_станцията, но с име на акаунт: име_на_станцията$ ;

6.Задават се параметри на бъдещияSecurity Channel, чрез който ще си комуникират станцията и ДК от домейна. Най-просто казано се задава парола на новосъздадения машинен акаунт, която първоначално е: име_на_станцията$ ;

7. Windows XP прави някои локални конфигурации и Ви приканва да рестартирате компютъра;

8. Windows XP се зарежда. След стартирането си услугата NETLOGON “разбира” от регистрито, че трябва да присъедини станцията към домейна и на базата на наличната информация осъществява фактическото присъединяване, използвайки първоначалната парола за машинния акаунт, а именно: име_на_станцията$. Успешното присъединяване е свързано със смяна на паролата на машинния акаунт, като операционната система е тази, която има грижата това да се случи (по подразбиране тази парола се сменя на всеки 30 дни автоматично. Това е конфигурируемо чрез групова политика);

9. Обновява се информацията за станцията в DNS-а и започва изпълнението на ефективните групови политики.

В крайна сметка е интересно да разберем кой ще бъде ДК, с който станцията извършва действията от т. 5 до т.9. Оказва се, че това не е толкова трудно 🙂 Необходимата информация е в регистрите.

Малко преди края на присъединяването и появата на съобщението “Your computer was joined successfully!” в [ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon] се появява нов ключ: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\JoinDomain ]. Там, в чист текст, са записани DNS името и IP адреса на ДК, с който нашата станция ще си комуникира, за да завърши процеса на фактическото присъединяване:

  • DomainControllerAddress;
  • DomainControllerName.

Разбира се, има и друга информация, която ще бъде полезна на заинтересуваните 🙂

Присъединяването е лесно…но само така изглежда 🙂

Легенда:

/ — / — / — /

Comments (4)add

Споделяне на тайните
written by zelenkroki2 , July 23, 2008

Задавате име на работната станция и рестартирате (това е важно!)

Именният адрес на станцията не се променя за разлика от нейния IP-адрес през времето в зависимост от “наемите”. Важният момент с избор на името и грешките при структурирането на символите в името проваля ли самото присъединяване? Или пречи на репликациите в бъдеще?

Разяснение
written by Peter Georgiev , July 23, 2008

Важният момент с избор на името и грешките при структурирането на символите в името проваля ли самото присъединяване? Или пречи на репликациите в бъдеще?

При задаване на име на работна станция/сървър през GUI (ГПИ) се извиква API фунцкията SetComputerName (или SetComputerNameEX), която сменя името на компютъра ако отговаря на правилата за именуване. Ето извадка от сайта
[ http://msdn.microsoft.com/en-u…S.85).aspx ]:

“… Parameters
lpComputerName [in]
The computer name that will take effect the next time the computer is started. The name must not be longer than MAX_COMPUTERNAME_LENGTH characters.

The standard character set includes letters, numbers, and the following symbols: ! @ # $ % ^ & ‘ ) ( . – _ { } ~ . If this parameter contains one or more characters that are outside the standard character set, SetComputerName returns ERROR_INVALID_PARAMETER. …”

т.е. валидността на името се проверява преди самата смяна. А вече каква конвенция за именуване ще използвате е решение на IT екипа.

От тук следва и отговора на последния ви въпрос – ако няма невалидни символи в името репликацията ще протече нормално, според съответния график, ако разбира се няма някакви други репликационни драми smilies/smiley.gif

ори, мели – яж!
written by zelenkroki2 , July 23, 2008
Без друго, присъединяването ще е успешно. smilies/smiley.gif

5. Създава се машинен акаунт в Активната директория (ако вече няма такъв) с име име_на_станцията, но с име на акаунт: име_на_станцията$ ;

Защо става така? (определено свръх умен въпрос, ама, какво налага име на станция и име на акаунт?)
smilies/shocked.gif

Поправка
written by Peter Georgiev , July 23, 2008
Май съм се изразил малко неточно (ще поправя статията).
При присъединяване атрибутът NAME на машинния акаунт има стойност име_на_станцията, a на атрибута sAMAccountName се задава стойност име_на_станцията$

smilies/wink.gif

Leave a Reply

Your email address will not be published. Required fields are marked *