مثل روزهای قبل داخل شرکت همه مشغول کار خودمون بودیم و هر کس به وظایفی که بهش محول شده بود رسیدگی می کرد. نزدیک ظهر بود که ریاست محترم شرکت، اینبار با چهره ای گشاده و بشاش وارد دفتر ما شد و مسئله ای را مطرح کرد، با این عنوان که قصد داریم دامنه ی یکی از شرکت های تحت پشتیبانی خودمون را بنا به دلایلی که هنوز برای من و همکارانم مشخص نشد، تغییر بدهیم. اما مسئله ای که هست، شرکت مذکور دارای چند 100 کارمند می باشد و باید نام کاربری تمامی آن افراد در دامین جدید با یکسری ویژگی هایی که دارند در دامین جدیدشون تعریف شوند.همین جا بود که جناب رئیس سرش را پایین انداخت و چند ثانیه ای سکوت کرد، و ناگهان رو به ما کرد و گفت : خوب به نظر شما چه باید بکنیم؟
همه شروع کردیم به بحث و هر کسی نظرش را بیان کرد، یکی گفت خوب مشکلی نیست، نام کاربری تمام افراد را در دامین جدید می سازیم. بعد از مدتی تبادل نظر در رابطه با نطر دوستمون خودش به این نتیجه رسید که این کار بس فرسایشی و زمان بر می باشد. دوست دیگری گفت می توانیم از ابزار Active Directory Migration Tool یا همون ADMT استفاده کنیم، ولی رئیس بزرگ با این روش زیاد موافق نبود و دلیلش این بود که ADMT نصب و راه اندازیش چند ساعتی زمان صرف می کند، الباقی همکاران هم نظرات مختلفی داشتند، تا این که نوبت به من رسید!!
بنده حقیر گفتم که می توانیم کاربران موجود در دامین قدیمی را با استفاده از یک خط کامند در قالب فایل های با پسوند (csv.) خروجی بگیریم و همین فایل مذکور را در دامین جدید وارد کنیم.حالا خواهیم دید که این کار چگونه صورت می گیرد. در این محیط آزمایشی از دو دامین متفاوت در فارست های مختلف استفاده می کنیم. دامین اول TEST.lab که ویندوز سرور آن 2008R2 می باشد و قرار است نام های کاربری از آن به دامین دوم TEST2.lab که ویندوز سرور آن نیز 2008R2 می باشد، منتقل شوند، به دامین اول می رویم، در این دامین از کاربران موجود در OU ای با اسم New Users خروجی خواهیم گرفت.
برای شروع داخل CMD ،Start Menu را Run as Administrator می کنیم. دستوری که داخل کامند پرامپت وارد می کنیم تا از نام های کاربری در قالب فایل های (csv.) خروجی بگیریم بدین صورت می باشد:
csvde -d {LDAP Path} -f C:\filename.csv
که در این آموزش به شکل زیر می باشد:
csvde -d "ou=New Users,dc=test,dc=lab" -f C:\ExportedUsers.csv
بعد از فشردن Enter و اجرای دستور مذکور باید پیغام تکمیل شدن موفقیت آمیز آن برای شما نمایان شود.
لیست کاربران مورد نظر خارج شد و اگر در حین اجرای این دستور با پیغام خطا مواجه شدید به صحیح وارد شدن دستور و همچنین آدرس LDAP Path دقت کنید. حالا فایل موجود را با استفاده از Microsoft Excel باز می کنیم. در این قسمت نکاتی وجود دارد که باید به آنها دقت کنیم.به احتمال زیاد سطر دوم باید به OU تخصیص داده شده باشد، می توانیم از این سطر چشم پوشی کنیم، ولی ممکن است OU مورد نظر شما در دامین دوم نام دیگری داشته باشد یا شاید ترجیح می دهید که OU مربوطه در دامین دوم را خود بسازید به همین خاطر باید سطر دوم به کل حذف شود، در این آموزش در دامین دوم OU ای با نام Network وجود دارد که OU هدف می باشد، به همین منظور سطر دوم حذف شد.
در این فایل ستون های بسیاری را مشاهده خواهیم کرد که نیازی نیست همه آنها وجود داشته باشند، بنابراین می توانیم به طور کامل ستون هایی که مهم نیستند را حذف کنیم. اما ستون هایی هستند که نباید آنها را از فایل حذف کرد که عبارتند از:
DN objectClass ou distinguishedName name cn sn givenName displayName sAMAccountName userPrincipalName
بعد از پاکسازی ستون های اضافی فایل ما بدین صورت در خواهد آمد.
در این قسمت یکسری از جزئیات را که مربوط به دامین دوم می باشد را درست می کنیم، نظیر آدرس LDAP و همچنین آدرس User Principal Name را. از ترکیب کلید ها استفاده می کنیم و با فشردن همزمان
Ctrl+f
پنجره Find and Replace داخل فایل Excel باز می شود. به تب Replace می رویم و در قسمت Find What تایپ می کنیم:
DC=TEST,DC=lab
و در Replace With تایپ می کنیم:
DC=TEST2,DC=lab
و سپس روی Replace All کلیک می کنیم.
با اینکار آدرس دامین دوم(TEST2.lab) جایگزین آدرس LDAP دامین اول می شود (TEST.lab). همچنین لازم است همانند مرحله قبلی نام OU از New Users به Network و نام دامنه در قسمت User Principal Name از TEST.lab به TEST2.lab تغییر کند.
البته می توانیم قسمت اول و دوم را با هم ادقام کنیم و به ترتیب در Find What و Replace With بدین صورت وارد کنیم:
OU=New Users,DC=TEST,DC=lab OU=Network,DC=TEST2,DC=lab
فایل ما برای وارد کردن به دامین دوم آمادست، این فایل را با همان فرمت (csv.) نیز Save می کنیم و به دامین دوم منتقل می کنیم.
فایل مربوطه را داخل درابو C در دامین دوم کپی می کنیم. برای وارد کردن نام های کاربری CMD را به صورت Run as Administrator اجرا می کنیم و داخل آن دستور زیر را تایپ می کنیم:
csvde -i -f ".csv File Path"
که در این جا باید وارد کنیم:
csvde -i -f c:\ExportedUsers.csv
و در پایان باید پیغام تکمیل شدن موفقیت آمیز دستور برای شما نمایان شود.
حال به کنسول Active Directory Users and Computers می رویم و به OUی Network می رویم و مشاهده می کنیم که تمامی کاربران موجود در OUی New Users به OUی مورد نظر در دامین دوم (TEST2.lab) منتقل شده اند. تمامی کاربران موجود در OUی Network غیرفعال هستند و برای فعال سازی آنها، همه نام های کاربری را انتخاب می کنیم و روی آنها کلیک راست و روی Enable Users کلیک می کنیم.
امیدوارم که مورد توجه دوستان قرار گرفته باشد.
با این روش یوزرهای که اسمشون فارسی هست منتقل میشه ؟ یعنی این روش با اسامی فارسی مشکلی نداره ؟
احتمالا مشکل دوست عزیز unp تا الان حل شده باشد ولی استفاده از این روش نیز به سرانجام خواهد رسید
لینک سایت
سلام
SID ها ثابت نمی مونه، جا به جایی کاربران از دامینی به دامین دیگه صورت گرفته بنابراین دسترسی ها نسبت به دامین جدید باید اعمال بشه. بعد از جا به جایی باید به کاربر ها پسورد اختصاص داشته باشه.
اگر قرار باشه SID ها تغییر نکنه و همچنین رمز عبور کاربران و حتی اگر در نظر داشته باشید که کاربری که جا به جا شده به منابع دامین قبلی هم دسترسی داشته باشه، بهترین راه حل استفاده از Active Directory Migration Tools هستش.
سلام
با این روش SIDها هم ثابت می مونه؟ یعنی دسترسی های یورزها از بین نمیره؟ و اینکه پسورد یوزرها تکلیفشون چی میشه این وسط؟
سلام
برای Computer Account ها موقعیتش به این صورت پیش نیومده که بخوام از این طریق جا به جا کنم، ولی روشی که امتحان کردم و به خوبی از اون نتیجه گرفتم، استفاده از Active Directory Migration Tools بود. در این مورد داخل خود technet می تونید آموزش کامل و جامع از این ابزار را به زبان فارسی اگر اشتباه نکنم از patris-70 پیدا کنید و به زبان انگلیسی هم آموزش زیاد هستش.
با تشکر فروان از شما AM Virgo
یک سوال کوچیک داشتم
این موردی ک شما میگی فقط برای user account صدق میکنه یا برای هر objectیی ک توی domain هست هم میشه این کار رو کرد مثل computer account و..
مرسی از شما
سلام
لطفا سوالتون رو داخل انجمن بپرسید، سوال شما شاید سوال دیگر دوستان هم باشه
سلام مهندس ببخشید من الان در ویندوز 2012 این کارارو انجام دادم ولی موقع import کردن به این مشکل میخورم
سلام
تو این روش میشه پسورد هارو هم برگردوند؟
سلام
لطفا سوالتون رو داخل انجمن بپرسید، سوال شما شاید سوال دیگر دوستان هم باشه