امیر مقدم
کارشناس ارشد سرویس های مبتنی بر شبکه مایکروسافت

آموزش انتقال کاربران یک دومین به دومین دیگر با استفاده از CSVDE

مثل روزهای قبل داخل شرکت همه مشغول کار خودمون بودیم و هر کس به وظایفی که بهش محول شده بود رسیدگی می کرد. نزدیک ظهر بود که ریاست محترم شرکت، اینبار با چهره ای گشاده و بشاش وارد دفتر ما شد و مسئله ای را مطرح کرد، با این عنوان که قصد داریم دامنه ی یکی از شرکت های تحت پشتیبانی خودمون را بنا به دلایلی که هنوز برای من و همکارانم مشخص نشد، تغییر بدهیم. اما مسئله ای که هست، شرکت مذکور دارای چند 100 کارمند می باشد و باید نام کاربری تمامی آن افراد در دامین جدید با یکسری ویژگی هایی که دارند در دامین جدیدشون تعریف شوند.همین جا بود که جناب رئیس سرش را پایین انداخت و چند ثانیه ای سکوت کرد، و ناگهان رو به ما کرد و گفت : خوب به نظر شما چه باید بکنیم؟

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

همه شروع کردیم به بحث و هر کسی نظرش را بیان کرد، یکی گفت خوب مشکلی نیست، نام کاربری تمام افراد را در دامین جدید می سازیم. بعد از مدتی تبادل نظر در رابطه با نطر دوستمون خودش به این نتیجه رسید که این کار بس فرسایشی و زمان بر می باشد. دوست دیگری گفت می توانیم از ابزار Active Directory Migration Tool یا همون ADMT استفاده کنیم، ولی رئیس بزرگ با این روش زیاد موافق نبود و دلیلش این بود که ADMT نصب و راه اندازیش چند ساعتی زمان صرف می کند، الباقی همکاران هم نظرات مختلفی داشتند، تا این که نوبت به من رسید!!

بنده حقیر گفتم که می توانیم کاربران موجود در دامین قدیمی را با استفاده از یک خط کامند در قالب فایل های با پسوند (csv.) خروجی بگیریم و همین فایل مذکور را در دامین جدید وارد کنیم.حالا خواهیم دید که این کار چگونه صورت می گیرد. در این محیط آزمایشی از دو دامین متفاوت در فارست های مختلف استفاده می کنیم. دامین اول TEST.lab که ویندوز سرور آن 2008R2 می باشد و قرار است نام های کاربری از آن به دامین دوم TEST2.lab که ویندوز سرور آن نیز 2008R2 می باشد، منتقل شوند، به دامین اول می رویم، در این دامین از کاربران موجود در OU ای با اسم New Users خروجی خواهیم گرفت.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


برای شروع داخل 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


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


بعد از فشردن Enter و اجرای دستور مذکور باید پیغام تکمیل شدن موفقیت آمیز آن برای شما نمایان شود.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


لیست کاربران مورد نظر خارج شد و اگر در حین اجرای این دستور با پیغام خطا مواجه شدید به صحیح وارد شدن دستور و همچنین آدرس LDAP Path دقت کنید. حالا فایل موجود را با استفاده از Microsoft Excel باز می کنیم. در این قسمت نکاتی وجود دارد که باید به آنها دقت کنیم.به احتمال زیاد سطر دوم باید به OU تخصیص داده شده باشد، می توانیم از این سطر چشم پوشی کنیم، ولی ممکن است OU مورد نظر شما در دامین دوم نام دیگری داشته باشد یا شاید ترجیح می دهید که OU مربوطه در دامین دوم را خود بسازید به همین خاطر باید سطر دوم به کل حذف شود، در این آموزش در دامین دوم OU ای با نام Network وجود دارد که OU هدف می باشد، به همین منظور سطر دوم حذف شد.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


در این فایل ستون های بسیاری را مشاهده خواهیم کرد که نیازی نیست همه آنها وجود داشته باشند، بنابراین می توانیم به طور کامل ستون هایی که مهم نیستند را حذف کنیم. اما ستون هایی هستند که نباید آنها را از فایل حذف کرد که عبارتند از:

DN
objectClass
ou
distinguishedName
name
cn
sn
givenName
displayName
sAMAccountName
userPrincipalName

بعد از پاکسازی ستون های اضافی فایل ما بدین صورت در خواهد آمد.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


در این قسمت یکسری از جزئیات را که مربوط به دامین دوم می باشد را درست می کنیم، نظیر آدرس 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 کلیک می کنیم.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


با اینکار آدرس دامین دوم(TEST2.lab) جایگزین آدرس LDAP دامین اول می شود (TEST.lab). همچنین لازم است همانند مرحله قبلی نام OU از New Users به Network و نام دامنه در قسمت User Principal Name از TEST.lab به TEST2.lab تغییر کند.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE



جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


البته می توانیم قسمت اول و دوم را با هم ادقام کنیم و به ترتیب در Find What و Replace With بدین صورت وارد کنیم:

OU=New Users,DC=TEST,DC=lab
OU=Network,DC=TEST2,DC=lab

فایل ما برای وارد کردن به دامین دوم آمادست، این فایل را با همان فرمت (csv.) نیز Save می کنیم و به دامین دوم منتقل می کنیم.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


فایل مربوطه را داخل درابو C در دامین دوم کپی می کنیم. برای وارد کردن نام های کاربری CMD را به صورت Run as Administrator اجرا می کنیم و داخل آن دستور زیر را تایپ می کنیم:

csvde -i -f ".csv File Path"

که در این جا باید وارد کنیم:

csvde -i -f c:\ExportedUsers.csv


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


و در پایان باید پیغام تکمیل شدن موفقیت آمیز دستور برای شما نمایان شود.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


حال به کنسول Active Directory Users and Computers می رویم و به OUی Network می رویم و مشاهده می کنیم که تمامی کاربران موجود در OUی New Users به OUی مورد نظر در دامین دوم (TEST2.lab) منتقل شده اند. تمامی کاربران موجود در OUی Network غیرفعال هستند و برای فعال سازی آنها، همه نام های کاربری را انتخاب می کنیم و روی آنها کلیک راست و روی Enable Users کلیک می کنیم.


جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE



جا به جایی User Acount ها از دامینی به دامین دیگر با استفاده از فایل های CSVDE


امیدوارم که مورد توجه دوستان قرار گرفته باشد.


امیر مقدم
امیر مقدم

کارشناس ارشد سرویس های مبتنی بر شبکه مایکروسافت

نظرات