0

مدیریت active directory با استفاده از دستورات powershell

1659 بازدید
powershell

مدیریت 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 است. اجرای این دستور خروجی زیر را دارد:

powershell

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

*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 ویندوز اجرا خواهیم کرد.

powershell

همان گونه که در تصویر 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

powershell

بررسی دستورات بالا:

برای ایجاد کاربر در powershell باید از دستور New-ADUser   استفاده کرد. بعد از این کار از یک خط تیره (-) قرار می دهیم(بعد از علامت خط تیره برای سهولت در نوشتن کافی کلید space فشار داده تا کلمه موردنظر به صورت اتوماتیک برایتان نمایش داده شود) که بعد از این کار لیست دستوراتی که با دستور New-ADUser  می باشد به صورت یک لیست برای ما نشان داده می شود که بسته به نیاز خود از آن استفاده خواهیم کرد. بعد از هر دستور باید خط تیره قرار بگیرد تا دستورات مربوط به دستور اصلی برای ما نمایش داده شود.

در مرحله بعد معرفی نام کاربر می باشد که باید اول name  را وارد کرده و بعد نام کاربر که در اینجا amir  می باشد وارد کرده که بعد این کار شما می توانید کد مورد نظر را بدون وارد کردن بقیه اطلاعات اجرا کنید زیرا بقیه اطلاعات تکمیل کننده کاربر می باشد. با دستور DisplayName و بعد از آن نام کامل موردنظر را وارد می کنیم.

نکته مهم در این بخش:

زمانی که می خواهید یک اسم را وارد کنید و این اسم به صورت چند کلمه جدا از هم باشد حتما باید کلمات موردنظر خود را در داخل دابل کوتیشن (“”) مثل اسم “arash falahi”  قراردهید تا با خطا مواجه نشوید. مابقی دستورات نیز برای نام استان ،شهر ،خیابان و…. می باشد که به دلخواه می توانید وارد کنید. این اطلاعات همان اطلاعات در بخش properties  یک کاربر می باشد با کلیک کردن برروی آیکون run script  دستورات اجرا شده و کاربر موردنظر ساخته می شود.

در تصویر 2  بعد از ایجاد کاربر باید رمز عبور آن را وارد کنید برای این کار دستور زیر تایپ کنید:

                              set-ADAccountPassword  amir

powershell

با وارد کردن این دستور باید نام کاربر را که در قسمت name- قراردادیم در این بخش وارد کنیم تا پنجره دریافت رمز برای شما نمایش داده شود اگر کاربر شما از قبل رمز عبور برای او  set  شده باشد باید در پنجره  current رمز موردنظرتان را وارد کنید وگرنه باید بدون واردکردن کلمه ای برروی ok کلیک کرده و بعد در بخش  desired  رمز جدید را وارد کنید و بعد برروی ok کلیک کنید و در پنجره آخر رمز را دوباره تکرار کنید برروی ok  کلیک کرده تا کاربر موردنظر دارای رمز عبور باشد.

نکته : ابتدا برای وارد کردن رمز کادر اول را به صورت خالی  ok کنید و در دوبخش current , desired  پسورد را وارد کرده تا با خطا مواجه نشوید.

تا به این لحظه یک کاربر با جزییات مشخص شده در تصویر 3 مشاهده می کنید و رمز عبور آن را هم ایجاد کردیم اگر وارد سرویس active directory users and computers  شوید در قسمت users  کاربر موردنظر به مانند شکل روبرو  غیرفعال خواهد بود که برای فعال کردن کاربر موردنظر در تصویر 4 باید از دستور زیر استفاده کنید:

                                                Enable-ADAccount  amir

powershell

powershell

در این دستور باید به جای amir  نام کاربر خود را وارد کنید تا کاربر موردنظر فعال شود برای اجرای این دستور برروی آیکن run script در بالای صفحه کلیک کنید.
همان گونه که در تصویر 5  در بالا مشاهده می کنید کاربر amir  فعال شده است و می تواند وارد سیستم خود شود.

ساخت group  با استفاده از powershell :

برای ساخت گروه وارد powershell ise  می شویم در این بخش طبق تصویر 6 دستوراتی برای ساخت گروهی با نام msc20  با تنظیمات موردنظر انجام شده است که دستورات را در زیر به آن می پردازیم:

New-ADGroup  -Name  msc20  -ManagedBY  amir  -GroupCategory  Security  -GroupScope Global  –Description  ”network learnin

powershell

powershell

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

powershell

powershell

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  کلیک کنید کاربر مورد نظر حذف خواهد شد.

powershell

powershell

برای حذف گروه کاربری طبق تصویر 9  از دستور زیر در piwer shell  استفاده می کنیم

Remove-ADGroup  msc20

powershell

همان گونه که مشاهده می کنید با دستور  Remove-ADGroup  و بعد از آن نام گروه موردنظر و اجرای آن سوال می شود که آیا گروه موردنظر می خواهید حذف بشود یا خیر ؟
برای حذف واحدهای سازمانی باید از دستور زیر استفاده کنید:

RemoveADOrganizationalUnit  sales12

powershell

Sales 12  نام واحد سازمانی می باشد که در مرحله قبل آن را ساختیم و می خواهیم آن را حذف کنیم بعد از اجرای دستور با error  زیر مواجه خواهید شد:
در تصویر 10 دستور مقابل با خطا مواجه شده و به خاطر این می باشد که شی موردنظر پیدا نشده و برای حل این مشکل باید دستور مقابل را به صورت زیر تغییر دهید تا شی موردنظر در دسترس باشد.

Remove-ADOrganizationalunit     “OU=Sales 12 , DC=hiva,DC=local”  

powershell

در دستور بالا برای پیدا کردن شی sales 12  باید بدین صورت انجام دهیم که داخل دو تا “” باید نام ou=sales 12  و بعد کاما قرار داده و بعد از آن نام دومین خودرا وارد کرده که دومبن سیستم ما hiva  می باشد و بعد از کاما dc=local  قرار می دهیم این بدین معناست که ابتدا باید نام واحد سازمانی و نام دومین نوشته شود تا خطای مرحله قبل از بین برود.

طبق تصویر 11 بعد از اجرای دستور بالا باز ممکن است که با خطا مواجه شوید و این بدین معنی است که دسترسی به شی موردنظر امکان پذیر نیست و بدین معنی است که در هنگام تعریف شی به صورت محافظت شده ساختیم برای حل آن باید دستوری نوشته شود که بخش محافظت کننده شی مورد نظر را غیر فعال کنیم برای این کار دستور زیر را وارد نمایید:

 Set-ADOrganizationalUnit  “OU=Sales 12 , DC=hiva,DC=local”  -ProtectedFromAccidentalDeletion 0 

powershell

طبق این دستور شی sales 12  را با دستور Set-ADOrganizationalUnit انتخاب خواهیم کرد.

با دستور ProtectedFromAccidentalDeletion 0-  محافظت آن را غیر فعال کنید (عدد صفر غیر فعال شدن می باشد)

نکته : زمانی که شی موردنظر از حالت محافظت شده  خارج شد با دستور قبلی می توان ou   یا واحد سازمانی را به آسانی حذف کرد.

طبق تصویر 12 مشاهده می کنید که دستورات به صورت پشت سرهم تایپ شده در دو خط و به راحتی شی مورد نظر حذف می شود

powershell

طبق تصویر 13 مشاهده می کنید که گروه مورد نظر به نام sales 12  از لیست سرویس به صورت کامل حذف گردید.

powershell

powershell

 

هیواشبکه

خدمات ما در مجموعه هیواشبکه شامل :

شرکت فنی و مهندسی هیوانوآوران داده گستر  مجری طراحی ، پیاده سازی ، پشتیبانی پروژه های شبکه و امنیت در استان گیلان – رشت و شهرها و استانهای همجوار

آموزشگاه تخصصی هیواشبکه : برگزار کننده دوره های تخصصی شبکه و امنیت ، پیکربندی سرور HP ، مجازی سازی ، MCSA 2016 ، نتورک و … به صورت حضوری با مجوز از سازمان فنی و حرفه ای و آموزش کارکنان دولت در رشت ، استان گیلان و به صورت مجازی در سراسر کشور در خدمت شما عزیزان هستیم.

آیا این مطلب را می پسندید؟
https://hivanetwork.ir/?p=21608
اشتراک گذاری:
آرش صفرزاده
مطالب بیشتر
برچسب ها:

نظرات

0 نظر در مورد مدیریت active directory با استفاده از دستورات powershell

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

هیچ دیدگاهی نوشته نشده است.