مدیریت active directory با استفاده از دستورات powershell
ماژول Active Directory PowerShell بخشی از Remote Server Administration Tools (RSAT) در تمامی سیستم عامل های ویندوز است. این مجموعه ای از cmdlet های PowerShell است که انعطاف پذیری را در مدیریت اکتیو دایرکتوری ایجاد می کند.
در حالی که مدیریت AD با استفاده از ابزارهای مبتنی بر رابط کاربری گرافیکی مانند کنسول Active Directory Users و Computers امکان پذیر است، نصب Windows Active Directory PowerShell Module به شما این امکان را می دهد که تغییرات را به صورت انبوه انجام دهید. این به این دلیل است که دستورات PowerShell می توانند تغییرات را از طریق لیست اشیاء با سرعت بسیار بیشتری نسبت به رابط گرافیکی تکرار کنند.
چرا پاورشل
برخی افراد تصور میکنند که پاورشل نسخه تکامل یافتهیCMD است و به دلیل اینکه هنوز هم انجام برخی از کارها با خط فرمان وجود دارد، ترجیح میدهند با محیط قدیمی خط فرمان کار کنند. اما بهتر است بدانید که خط فرمان مانند پاورشل اجازه نمیدهد به راحتی برخی از کارها را انجام دهید و در انجام برخی از کارها محدود است.
به عنوان مثال شما میتوانید از ماوس در پاورشل استفاده کنید و محدودیت های خط فرمان در ارتباط با عدم بهکارگیری ماوس وجود ندارد. اکثر عملکرد های یک سرور سنتی به صورت cmdlets در پاورشل وجود دارد. دستوراتی که به جای باز کردن پنجره های مختلف می توانید تنها با اجرای یک دستور همان کار را انجام دهید.
از کامندلت ها میتوان برای دریافت اطلاعات از یک سرور و نیز تنظیم اطلاعات و پارامترهای روی سرور استفاده کنید.cmdlets ها با پیشوند های get یا set شروع میشوند که بیانگر نوع کاری است که فرمان انجام میدهد. هر کامندلت یکسری گزینه و متغیر دارد که بعد از فرمان قرار میگیرند و برای پیکربندی یا اجرای سفارشی یک فرمان استفاده میشوند.
نحوه اجرای Powershell
کنسول پاورشل بهطور پیشفرض در تمامی ویندوزها نصب شده است، بنابراین میتوانید از دو روش زیر آن را اجرا کنید. کافی است در کادر جستوجوی ویندوز فرمان powershell را تایپ و کلید اینتر را فشار دهید.
1- منوی استارت را باز کنید و عبارت Powershell را تایپ کنید و کلید Enter را فشار دهید.
2- عبارت Run را در منوی استارت جستجو کنید سپس عبارت Poweshell را تایپ و OK کنید.
همانگونه که در تصویر زیر مشاهده می کنید، چون با یک حساب مدیریتی به سرور وارد شدهایم، پاورشل همراه با مجوزهای مدیریت اجرا شده است. پیشنهاد می شود برای انجام کارهای عادی، پاورشل را با مجوز مدیریتی اجرا نکنید تا ناخواسته یک فرمان اشتباه روی سرور اجرا نشود.
برای این کار می توانید در منوی استارت عبارت Powershell را تایپ کنید، سپس راست کلیک کرده و گزینه Run as diffrent user را انتخاب کنید.
نکته
استفاده از کلید Tab
اگر در محیط پاورشل چند حرف اول از هر دستور را تایپ کنید و کلید Tab را فشار دهید، باقیمانده عبارت بهطور خودکار نمایش داده میشود. به عنوان مثال اگر فرمان get-co را تا همین مقدار تایپ کنید، سپسکلید Tab را فشار دهید،فرمان Get-Command کامل میشود. امکان دارد فرمانهای مشابهی وجود داشته باشد. کافیست چند بار دکمه فوق را فشار دهید تا دستورات مختلف به شما نشان داده شود.
همچنین دکمه Tab با نام فایل ها و پوشه ها کار میکند. مثلا فرض کنید فایل یا وصلهای را دانلود کرده اید و می خواهید آن را روی سرور با استفاده از پاورشل نصب کنید و نمی خواهید وقت زیادی را برای تایپ نام فایل صرف کنید.شما قبلا به پوشهای که فایل در آن نصب شده است، رفته اید. در این صورت کافیست چند حرف فایل را تایپ کنید و کلید Tab را فشار دهید. پاورشل بهطور خودکار باقی مانده نام فایل را پر میکند.
چند نمونه از cmdlet های پرکاربرد در پاورشل
Get-NetIPAddress: با این دستور میتوانید آدرس آیپی سیستم را مشاهده کنید.
Set-NetIPAddress: با استفاده از این دستور میتوانید آدرس آیپی موجود را ویرایش کنید.
New-NetIPAddress: این دستور اجازه میدهد یک آدرس آیپی جدید برای کامپیوتر بسازید.
Rename-Computer: برای تنظیم نام میزبان یک کامپیوتر استفاده می شود.
یکی از کاربردیترین دستورات پاورشل دستور Get-Command است. اجرای این دستور خروجی زیر را دارد:
با اجرای دستور بالا فهرستی طولانی از دستورات را در پاورشل مشاهده میکنید که پیدا کردن یک دستور یا فرمان در میان حجم زیادی از اطلاعات کار دشواری است. برای حل این مشکل باید از فیلتر استفاده کنید. مثلا اگر می خواهید فقط دستوراتی که با آدرس آیپی سروکار دارند را مشاهده کنید، باید فرمان زیر را اجرا کنید:
*Get-Command -Name *IPAddress
فرمان Get-Command همراه با پارامتر Name به شما اجازه میدهد تا مواردی که به دنبال آن هستید را مشاهده کنید. خروجی دستور بالا در تصویر زیر مشاهده می کنید:
دستورات کاربردی
از مهمترین دستورات پاورشل که می توانید از آنها برای راحتی کار خود استفاده کنید، می توان به موارد زیر میتوان اشاره کرد:
Get-Command:
برای پیدا کردن دستورات اضافی یا دستوراتی که به دنبال آنها هستید استفاده میشود.
*Get-Command -Name *example:
با اضافه کردن سوئیچ -Name به انتهای دستور و در واقع با فیلتر کردن دستور، تنها دستوراتی که به دنبال آنها هستید را نشان میدهد.
GC:
نام مخففی برای Get-Command است. برخی از دستورات پاورشل نامهای مستعاری همچون gcm دارند که اجازه میدهند با تایپ کلیدهای کمتری یک فرمان را اجرا کنید.
Get-Alias:
برای مشاهده نامهای مستعار برای دستورات دیگر پاورشل کافی است دستور Get-Alias را تایپ کنید.
Rename-Computer:
برای تغییر نام میزبان سرور از این دستور استفاده میشود.
Add-Computer:
از فرمان فوق برای اتصال کامپیوتر ها یا سرور ها به یک دامنه استفاده میشود.
Hostname:
فرمان فوق نام سیستمی که در حال حاضر از آن استفاده میکنید را نشان میدهد.
Logoff:
این دستور برای خروج از سیستم استفاده میشود، به جای آن که از منوی شروع و از Sign Out استفاده کنید، می توانید دستور بالا را تایپ کنید و کلید Enter را فشار دهید تا برنامه بسته شود.
shutdown یا Restart-Computer:
دو دستور shutdown یا Restart-Computer برای خاموش یا راهاندازی مجدد سرور استفاده می شود.اگر فرمان ساده shutdown را استفاده کنید، سیستم در کمتر از یک دقیقه خاموش میشود.
Query user یا Query
دستور Query user یا Query نام تمامی کاربرانی که بهتازگی به سرور اضافه شدهاند را به همراه ارائه یک گزارش آماری در ارتباط با نحوه ورود (محلی یا راه دور) و اینکه کاربر چه مدت است که فعال می باشد، نشان میدهد.
در ادامه به ساخت کاربر، گروه و واحد سازمانی و همچنین حذف آن ها با استفاده از دستورات پاورشل می پردازیم:
ساخت کاربر از طریق powershell :
ابتدا برای این کار ابتدا سرویس windows powershell ISE را در بخش search ویندوز اجرا خواهیم کرد.
همان گونه که در تصویر 1 مشاهده می کنید وارد سرویس ise شدیم دستوراتی که مشاهده می کنید برای ساخت یک کاربر با نام و مشخصات خاص می باشد که آن را بررسی می کنیم.
New-ADUser -name amir -DisplayName ”amir asadi” -State guilan – City Rasht – StreetAddress ”Shahid alame” –Homephone 0111 –Homepage www.k20.ir -Department cisco
بررسی دستورات بالا:
برای ایجاد کاربر در powershell باید از دستور New-ADUser استفاده کرد. بعد از این کار از یک خط تیره (-) قرار می دهیم(بعد از علامت خط تیره برای سهولت در نوشتن کافی کلید space فشار داده تا کلمه موردنظر به صورت اتوماتیک برایتان نمایش داده شود) که بعد از این کار لیست دستوراتی که با دستور New-ADUser می باشد به صورت یک لیست برای ما نشان داده می شود که بسته به نیاز خود از آن استفاده خواهیم کرد. بعد از هر دستور باید خط تیره قرار بگیرد تا دستورات مربوط به دستور اصلی برای ما نمایش داده شود.
در مرحله بعد معرفی نام کاربر می باشد که باید اول name را وارد کرده و بعد نام کاربر که در اینجا amir می باشد وارد کرده که بعد این کار شما می توانید کد مورد نظر را بدون وارد کردن بقیه اطلاعات اجرا کنید زیرا بقیه اطلاعات تکمیل کننده کاربر می باشد. با دستور DisplayName و بعد از آن نام کامل موردنظر را وارد می کنیم.
نکته مهم در این بخش:
زمانی که می خواهید یک اسم را وارد کنید و این اسم به صورت چند کلمه جدا از هم باشد حتما باید کلمات موردنظر خود را در داخل دابل کوتیشن (“”) مثل اسم “arash falahi” قراردهید تا با خطا مواجه نشوید. مابقی دستورات نیز برای نام استان ،شهر ،خیابان و…. می باشد که به دلخواه می توانید وارد کنید. این اطلاعات همان اطلاعات در بخش properties یک کاربر می باشد با کلیک کردن برروی آیکون run script دستورات اجرا شده و کاربر موردنظر ساخته می شود.
در تصویر 2 بعد از ایجاد کاربر باید رمز عبور آن را وارد کنید برای این کار دستور زیر تایپ کنید:
set-ADAccountPassword amir
با وارد کردن این دستور باید نام کاربر را که در قسمت name- قراردادیم در این بخش وارد کنیم تا پنجره دریافت رمز برای شما نمایش داده شود اگر کاربر شما از قبل رمز عبور برای او set شده باشد باید در پنجره current رمز موردنظرتان را وارد کنید وگرنه باید بدون واردکردن کلمه ای برروی ok کلیک کرده و بعد در بخش desired رمز جدید را وارد کنید و بعد برروی ok کلیک کنید و در پنجره آخر رمز را دوباره تکرار کنید برروی ok کلیک کرده تا کاربر موردنظر دارای رمز عبور باشد.
نکته : ابتدا برای وارد کردن رمز کادر اول را به صورت خالی ok کنید و در دوبخش current , desired پسورد را وارد کرده تا با خطا مواجه نشوید.
تا به این لحظه یک کاربر با جزییات مشخص شده در تصویر 3 مشاهده می کنید و رمز عبور آن را هم ایجاد کردیم اگر وارد سرویس active directory users and computers شوید در قسمت users کاربر موردنظر به مانند شکل روبرو غیرفعال خواهد بود که برای فعال کردن کاربر موردنظر در تصویر 4 باید از دستور زیر استفاده کنید:
Enable-ADAccount amir
در این دستور باید به جای amir نام کاربر خود را وارد کنید تا کاربر موردنظر فعال شود برای اجرای این دستور برروی آیکن run script در بالای صفحه کلیک کنید.
همان گونه که در تصویر 5 در بالا مشاهده می کنید کاربر amir فعال شده است و می تواند وارد سیستم خود شود.
ساخت group با استفاده از powershell :
برای ساخت گروه وارد powershell ise می شویم در این بخش طبق تصویر 6 دستوراتی برای ساخت گروهی با نام msc20 با تنظیمات موردنظر انجام شده است که دستورات را در زیر به آن می پردازیم:
New-ADGroup -Name msc20 -ManagedBY amir -GroupCategory Security -GroupScope Global –Description ”network learnin”
1- دستور New-ADGroup برای ایجاد گروه است.
2- باید نام گروه را بادستور name- وارد کنید.
3- بعد از آن با دستور ManagedBY- مشخص کنیم که چه کاربر و یا گروهی خاص مدیر این گروه باشد که نام کاربری amir را که در قسمت قبل ایجاد کردیم در این قسمت وارد می کنیم.
4- بعد از این کار باید نوع گروه و حوزه فعالیت گروه مشخص شود با دستور GroupCategory- که مشخص می کنید گروه موردنظر از نوع security باشد و یا از نوع destribution.
5-همچنین با دستور GroupScope- حوزه فعالیت گروه را که سه نوع می باشد که در این جا global وارد کنید و اگر توضیحاتی هم بود می توانید در بخش Description- وارد کنید.
با وارد شدن به سرویس active directory users and computers در قسمت users می توانید گروه مورد نظر مشاهده و با کلیک برروی آن میتوانید تنظیمات مربوط به آن را نیز مشاهده کنید.
ساخت organizatioin unit یا واحد سازمانی با استفاده از powershell :
وارد بخش powershell ise شوید و طبق تصویر 7 دستورات زبر را اجرا کنید :
New-ADOrganizationalUnit –Name sales12 -ProtectedFromAccidentalDeletion 1
1- با استفاده از دستور New-ADOrganizationalUnit می توان یک واحد سازمانی در active directory خود ایجاد کرده ابتدا این دستور را وارد کنید
2- بعد دستور name- که نام واحد سازمانی به نام sales12 در نظر گرفته ایم را نوشته و درواقع یک واحد سازمانی ایجاد خواهید کرد.
3- دستور ProtectedFromAccidentalDeletion 1- را مشاهده می کنید که برای جلوگیری از حذف شدن شی موردنظر می باشد زمانی که عدد 1 باشد یعنی این قابلیت فعال می باشد و اگر 0 باشد یعنی غیرفعال شده است همان طور که مشاهده می کنید گروه سازمانی مورد نظر به درستی ایجاد شده است.
بعد از انجام کار در اکتیو دایرکتوری برروی دومین خود refresh کنید تا سازمان مربوطه نمایش داده شود.
حذف users /groups/organization unit از طریق powershell :
بعد از ساخت کاربران و گروه های کاربری و سازمانی از طریق پاورشل باید توانایی حذف آن را هم داشته باشیم برای حذف یک کاربر از لیست active directory users and computer باید از دستور زیر استفاده کنید :
Remove-ADuser amir
بعد از دستور بالا در پاورشل طبق تصویر 8 از شما سوال خواهد شد که آیا می خواهید کاربری به نام amir را که در قسمت users قرار دارد حذف کنید ؟ اگر بر روی yes و yes to all کلیک کنید کاربر مورد نظر حذف خواهد شد.
برای حذف گروه کاربری طبق تصویر 9 از دستور زیر در piwer shell استفاده می کنیم
Remove-ADGroup msc20
همان گونه که مشاهده می کنید با دستور Remove-ADGroup و بعد از آن نام گروه موردنظر و اجرای آن سوال می شود که آیا گروه موردنظر می خواهید حذف بشود یا خیر ؟
برای حذف واحدهای سازمانی باید از دستور زیر استفاده کنید:
Remove–ADOrganizationalUnit sales12
Sales 12 نام واحد سازمانی می باشد که در مرحله قبل آن را ساختیم و می خواهیم آن را حذف کنیم بعد از اجرای دستور با error زیر مواجه خواهید شد:
در تصویر 10 دستور مقابل با خطا مواجه شده و به خاطر این می باشد که شی موردنظر پیدا نشده و برای حل این مشکل باید دستور مقابل را به صورت زیر تغییر دهید تا شی موردنظر در دسترس باشد.
Remove-ADOrganizationalunit “OU=Sales 12 , DC=hiva,DC=local”
در دستور بالا برای پیدا کردن شی sales 12 باید بدین صورت انجام دهیم که داخل دو تا “” باید نام ou=sales 12 و بعد کاما قرار داده و بعد از آن نام دومین خودرا وارد کرده که دومبن سیستم ما hiva می باشد و بعد از کاما dc=local قرار می دهیم این بدین معناست که ابتدا باید نام واحد سازمانی و نام دومین نوشته شود تا خطای مرحله قبل از بین برود.
طبق تصویر 11 بعد از اجرای دستور بالا باز ممکن است که با خطا مواجه شوید و این بدین معنی است که دسترسی به شی موردنظر امکان پذیر نیست و بدین معنی است که در هنگام تعریف شی به صورت محافظت شده ساختیم برای حل آن باید دستوری نوشته شود که بخش محافظت کننده شی مورد نظر را غیر فعال کنیم برای این کار دستور زیر را وارد نمایید:
Set-ADOrganizationalUnit “OU=Sales 12 , DC=hiva,DC=local” -ProtectedFromAccidentalDeletion 0
طبق این دستور شی sales 12 را با دستور Set-ADOrganizationalUnit انتخاب خواهیم کرد.
با دستور ProtectedFromAccidentalDeletion 0- محافظت آن را غیر فعال کنید (عدد صفر غیر فعال شدن می باشد)
نکته : زمانی که شی موردنظر از حالت محافظت شده خارج شد با دستور قبلی می توان ou یا واحد سازمانی را به آسانی حذف کرد.
طبق تصویر 12 مشاهده می کنید که دستورات به صورت پشت سرهم تایپ شده در دو خط و به راحتی شی مورد نظر حذف می شود
طبق تصویر 13 مشاهده می کنید که گروه مورد نظر به نام sales 12 از لیست سرویس به صورت کامل حذف گردید.
هیواشبکه
خدمات ما در مجموعه هیواشبکه شامل :
شرکت فنی و مهندسی هیوانوآوران داده گستر مجری طراحی ، پیاده سازی ، پشتیبانی پروژه های شبکه و امنیت در استان گیلان – رشت و شهرها و استانهای همجوار
آموزشگاه تخصصی هیواشبکه : برگزار کننده دوره های تخصصی شبکه و امنیت ، پیکربندی سرور HP ، مجازی سازی ، MCSA 2016 ، نتورک و … به صورت حضوری با مجوز از سازمان فنی و حرفه ای و آموزش کارکنان دولت در رشت ، استان گیلان و به صورت مجازی در سراسر کشور در خدمت شما عزیزان هستیم.
هیچ دیدگاهی نوشته نشده است.