به عنوان یک مدیر شبکه حتما برای شما هم پیش آمده است که یکی از دامین کنترلر های شما دچار مشکل شده و دیگر نمی توان آن را به مدار کار برگرداند و در این حین شبکه شما هم قطعا دچار مشکلاتی خواهد شد . دلیل این اتفاق می تواند بروز مشکلات سخت افزاری بر روی سرور دامین کنترلر و یا انجام شدن عملیات dcpromo بصورت ناموفق و بسیاری دیگر از مشکلات باشد که در نهایت باعث ایجاد اختلال در ساختار اکتیو دایرکتوری شما خواهد شد .
اما چگونه می توان از دست این مشکلات خلاص شد و دامین کنترلری که دچار اختلال شده است را از مدار شبکه خارج کرد ؟ همین مشکلات باعث می شود که شما نتوانید دامین کنترلر جدیدی به مجموعه اضافه کنید و بسیاری دیگر از مشکلات که ممکن است در ساختار اکتیودایرکتوری شما بوجود بیاید .
خوب در اینگونه موارد دو کار می توان انجام داد ، اولین قسمت حذف اطلاعات مربوط به دامین کنترلر از بین رفته از پایگاه داده اصلی اکتیودایرکتوری مستقر بر روی سرور فعال است و دیگری نیز انتقال FSMO ها یا نقش های دامین کنترلر از سرور دچار مشکل شده به سرور فعال در مجموعه است . لازم به ذکر است که این مقاله در خصوص حذف دامین کنترلرهایی است که دیگر نمی توان از طریق معمول یعنی با وارد کردن مجدد دستور dcrpomo آنها را از مدار خارج کرد ، کاربرد دارد و در وقاع حالت بد قضیه را مد نظر دارد .
به دامین کنترلرهایی که به این شکل از مدار خارج می شوند Ghost یا روح هم گفته می شود ، البته این اصطلاح چندان باب نیست و من خودم اینگونه دامین کنترلر های غیر فعال را به عنوان Zombie در شبکه عنوان می کنم ، همانطور که می دانید اطلاعات اکتیودایرکتوری با همدیگر یکسان سازی می شوند ، در ساختار اکتیودایرکتوری اطلاعات مربوط به دامین کنترلر ها در دایرکتوری SYSVOL و در ساختار DNS و همچنین در ساختار و تنظیمات Site ها و دامین کنترلر ها قرار میگیرد .
برخی از این اطلاعات را می توان بصورت دستی و برخی را نیز می توان بصورت خودکار توسط دستوراتی که در ادامه عنوان می کنیم حذف کنیم ، به این اطلاعات همانطوری که اشاره شده metadata گفته می شود ، برای از بین بردن این اطلاعات ابتدا عملیاتی را بصورت دستی انجام می دهیم و سپس با استفاده از دستور پرکاربرد NTDSUTIL اطلاعات مربوط به metadata را کاملا از این ساختار حذف می کنیم . خوب ابتدا ببینیم که چگونه اطلاعات مربوط به دامین کنترلر zombie را بصورت دستی حذف کنیم :
- بر روی دامین کنترلر اصلی که در حال فعالیت است به کنسول Active Directory Users and Computers بروید.
- به OU ای که در آن دامین کنترلر های مجموعه قرار دارند بروید که معمولا Domain Controllers نام دارد .
- بر روی دامین کنترلری که zombie شده است راست کلیک کنید و Delete را بزنید.
- از شما سئوال می شود که Are you sure you want to delete the computer named SDC ? گزینه Yes را انتخاب کنید .
- گزینه This Domain Controller is permanently offline and can no longer be demoted using the Active Directory Domain Services Installation Wizard (DCPROMO) را انتخاب کنید و سپس Delete را بزنید .
- اگر این دامین کنترلر Global Catalog بوده است و یا FSMO ای بر روی آن قرار گرفته بوده است با پیغام هایی که داده می شود موافقت کرده تا آنها را منتقل کند ، البته اگر بتواند .
- در مرحله بعدی به سراغ کنسول Active Directory Sites and Services می رویم ، در این کنسول شما دامین کنترلر هایی را مشاهده خواهید کرد که با همدیگر اطلاعات را Replicate می کرده اند ، در اینجا به دنبال Computer Account ای باشید که دامین کنترلر از مدار خارج شده را نمایش می دهد و بر روی آن راست کلیک کرده و Delete را بزنید ، گزینه This Domain Controller is permanently offline and can no longer be demoted using the Active Directory Domain Services Installation Wizard (DCPROMO) را انتخاب کنید و سپس Delete را بزنید .
- کنسول DNS سرور را باز کنید و در دامین مورد نظر در قسمت Name Server رکورد مربوط به دامین کنترلر Offline را انتخاب و حذف کنید . به نظر من کلیه زیرشاخه های این دامین را نیز جستجو و کلیه رکوردهایی که به آن دامین کنترلر از بین رفته اشاره می کنند را حذف کنید .
در اینجا کار ما با کنسول های گرافیکی تمام شده است و به سراغ مرحله ای می رویم که با استفاده از دستورات خط فرمان اطلاعات مربوط به Metadata و همچنین انتقال FSMO ها را با آنها انجام می دهیم ، اینکار با استفاده از یک ابزار خط فرمان به نام NTDSUTIL انجام می شود که بصورت مرحله به مرحله استفاده از این دستور در پایین توضیح داده شده است :
- Cmd را بر روی دامین کنترلر فعال باز کنید
- دستور ntdsutil را وارد کنید
- metadata cleanup را وارد کنید و Enter را بزنید
- connections را وارد کنید و سپس Enter را بزنید
- <connect to server < ServerName را وارد کنید و به جای ServerName نام دامین کنترلر فعالی که در مجموعه قرار دارد را وارد کنید.
- quit را وارد کنید و Enter را بزنید .
- select operation target را وارد کنید و enter را بزنید .
- list sites را وارد کنید و Enter را بزنید
- <#> select site را وارد کنید که در اینجا <#> نام سایتی است که سرور آفلاین در آن قرار گرفته است .
- list servers in site را وارد کرده و enter را بزنید
- <#> select server را وارد کرده که در اینجا <#> نام سرور آفلاین یا مشکل دار ما می باشد
- list domains را وارد کنید و enter را بزنید
- <#> select domain را وارد کنید که در اینجا <#> دامینی است که سرور آفلاین در آن قرار دارد.
- quit را بزنید و شما در اینجا بایستی به قسمت منوی metadata بازگردید.
- remove selected server را وارد کنید ، یک پیغام باز می شود ، مطمئن شوید که سرور درست را انتخاب کرده اید.
- Yes را کلیک کنید.
خوب نوبت به انتقال FSMO ها یا Operation Masters یا Fizmo ها یا هر چیزی که شما اسمش را می گذارید می رسد ، این مشکل بیشتر زمانی ایجاد خواهد شد که شما برخی از این Role ها را در زمان های گذشته به دامین کنترلری که در حال حاضر دچار مشکل شده است منتقل کرده باشید در این حالت شما دیگر قادر نخواهید بود Role ها را بصورت گرافیکی از سرور خراب شده به سرور سالم منتقل کنید و به ناچار بایستی از دستورات خط فرمان و به ویژه دستور NTDS استفاده کنید ، به اینکار در اصطلاح Seize کردن Role های FSMO گفته می شود ، به مراحل زیر دقت کنید :
- وارد cmd شوید
- دستور ntdsutil را وارد کنید
- role را تایپ کنید و enter را بزنید
- connections را تایپ کنید و enter را بزنید
- در قسمت < connect to servername <serverName به جای <serverName> نام سرور فعال خود را وارد کنید.
- q را تایپ کنید و enter را بزنید.
- در اینجا دستور <seize <FSMOroleName را وارد می کنیم که <FSMOroleName> نام Role ای است که بایستی منتقل شود.
- با زدن هر کدام از این Role ها بایستی گزینه Yes را انتخاب کنیم تا Role مورد نظر Seize شود .
نکته : role هایی که شما می توانید آنها را seize کنید به شرح زیر می باشد :
Seize naming master Seize PDC Seize RID master Seize infrastructure master Seize Schema Master
در اینجا عملیات ما بصورت کامل انجام شده است و دامین کنترلر مورد نظر بصورت کامل از ساختار دامین و forest ما حذف شده است ، در صورتیکه اطلاعات خاصی در خصوص FSMO Role های می خواهید داشته باشید میتوانید به قسمت مطالب مرتبط در پایین همین مقاله مراجعه کنید ، برای درک بهتر موضوع این مقاله تمامی موارد دستوری بالا را بصورت مثالی در محیط واقعی در پایین مشاهده می کنید :
انجام عملیات Seize در اکتیو دایرکتوری
Microsoft Windows [Version 5.2.3790] (C) Copyright 1985-2003 Microsoft Corp. C:\WINDOWS>ntdsutil ntdsutil: ntdsutil:roles fsmo maintenance: fsmo maintenance: connections server connections: server connections: connect to servername pdc Connected to pdc using credentials of locally logged on user. server connections: server connections: q fsmo maintenance: Seize domain naming master Seize PDC Seize RID master Seize schema master
مهندس درود و خسته نباشی
آقا مطلب عالی بود چیزی که 2 هفته درگیرش بودم با seize کردن ها درست شد
ممنون
سلام ، اگر دو تا DC دارید از طریق DC دوم می تونید فعالش کنید ، اگر خاموش بوده بیشتر از یک ماه نمیشه برش گردوند و باید به روش بالا از مدار خارجش کنید.
سلام خسته نباشید
من یکی از Domain controller هام تو شبکه کامپیوترش disable شده چون خیلی وقته خاموشه چگونه میتونم اکتیوش کنم ؟
سلام وقت بخیر ممنون بابت راهنمای عالیتون همه کارا رو کردم ولی این رکورد های قدیمی اضافه همچنان هست پاک هم که میکنم دوباره برمیگرده
اسم سرور شما چرا تو علامت <> قرار گرفته ؟
سلام استاد من dc ای که offline بود رو delete کردم و fsmo ها با موفقیت انتقال پیدا کرد لازمه تو ntdsutil دستوراتی که گفتید رو اجرا کنم؟ چون وقتی دستور connect to server رو میزنم خطا میده
dsbindwithspnex error 0x6ba the rpc server is unavailable
سلام ، وقت به خیر ، این مراحل اصلی ترین موارد حذف DC معدوم از مدار هستند اما یه سری موارد دیگه هست ، لطفا در قالب ارسال سوال مطرح کنید که بتونیم بهتر راهنمایی کنیم .
سلام وقت بخیر
تو مجموعه شبکه کلا یک سرور 2008r2 بوده که هم سرور مالی است و AD روش نصب بوده است بنا به دلایلی میخواستن AD حذف کنند ظاهرا به درستی حذف نشده و الان هم سرور مالی برای کاربران به در دسترس نیست (User authenticate) نمیشه
چه قدر احتمال داره اطلاعات سرور مالی از بین بره یا ویندوز مجدد بوت نشه
برای حذف کامل AD مراحل بالا جواب میده؟ هیچ سرور AD دیگری هم وجود ندارد
این خطا نیست الزاما هشدار یا اطلاعیه هم می تونه باشه ، ممکنه این خطا صرفا در همون لحظه صادر شده باشه ، اجازه بدید همیشه چند روز سرویس فعال باشه و بعد گزارش بگیرید ، این از نظر من خطای چندان مهمی نیست و برای تست می تونید یک کاربر بسازید و Replicate کنید و Sync شدن رو تست کنید.
سلام جناب مهندس نصیری . ممنون مفید بود. من بعد از حذف additional domain controller ، دستور repadmin /syncall رو اجرا کردم که بدون خطا بود و بعد دستور dcdiag رو اجرا کردم که همه پارامترها passed شدن به جز یکی مربوط به FSR که failed شد. پیام خطا به شرح زیر هست: