امیرحسین کریم پور
مدیر ارشد توسینسو و متخصص سرویس های مایکروسافت

آموزش گزارشگیری از گروپ پالیسی (GPO) با پاورشل (Powershell)

Group Policy نقش مهمی در Active Directory ایفا می کند و به ما امکان مدیریت پیکربندی تمامی سیستم های کلاینت و سرور ها ، تنظیمات یوزر ها در اکتیودایرکتوری و ... را بصورت مرکزی ارائه میدهد. شما در شبکه ممکن است هزاران عدد GPO برای کامپیوتر ها و همچنین یوزر ها ایجاد کرده باشید و در صورتیکه بخواهید از تمامی GPO ها یک گزارش تهیه کنید ممکن گزارش گیری از کلیه GPO ها در اکتیودایرکتوری کمی دشوار باشد

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

ما در این نکته میخواهیم ساده ترین روش ممکن را برای گزارش گیری از GPO ها به شما عزیزان آموزش دهیم. ما این کار را بوسیله یک اسکریپت PowerShell به سادگی انجام میدهیم. برای انجام این کار ابتدا دستورات زیر را به ترتیب در PowerShell اجرا کنید تا ماژول های اکتیودایرکتوری و Group Policy روی سرور دامین کنترلر Import شوند :

Import-Module ActiveDirectory
Import-Module GroupPolicy

سپس PowerShell ISE را باز کنید و Script زیر را در آن وارد کنید :

$dc = Get-ADDomainController -Discover -Service PrimaryDC

Get-GPOReport -All -Domain tosinso.com -Server $dc -ReportType HTML -Path C:\Temp\GPOReportsAll.html

البته دو دستور فوق را در PowerShell ISE هم میتوانید اجرا کنید اما ما خواستیم کار منظم تر انجام شود. در Script بالا ما ابتدا یک متغیر یا Variable به نام dc تعریف کردیم ( شما هر نامی میتوانید برای Variable در نظر بگیرید ) و درون آن با دستور Get-ADDomainController و با پارامتر Discover گفتیم که لیست سرور های دامین کنترلر در اکتیودایرکتوری را بدست بیاور و شناسایی کن ، با پارامتر Service هم گفتیم که سرور ما از نوع PrimaryDC هست.

CMDLET یا دستور Get-GPOReport هم همانطور که از نام آن نیز مشخص است برای بدست آوردن گزارش GPO ها مورد استفاده قرار میگیرد. در جلوی این CMDLET با آپشن All گفتیم که تمامی GPO را بدست بیاور. در مقابل پارامتر Domain هم اسم دامین را مشخص کردیم ( چون ممکن است در Forest شما چندین Domain وجود داشته باشد ). در مقابل پارامتر Server نیز اسم متغیری که قبلا تعریف کردیم (یعنی dc) را مشخص می کنیم.

در مقابل پارامتر ReportType نیز نوع گزارش را مشخص می کنیم که خروجی با فرمت HTML به ما بدهد. و در نهایت مسیر ذخیره شدن فایل HTML را باید جلوی پارامتر Path مشخص کردیم. شما میتوانستید به جای مشخص کردن خود مسیر یک Variable همانند آنچه قبلا تعریف کردیم (dc) ایجاد کنید و در مقابل پارامتر مربوطه تنها اسم Variable را مشخص کنید. Script را اجرا کنید و به مسیر مربوطه بروید و فایل HTML را با مرورگرتان باز کنید. امیدوارم مورد توجه شما دوستان قرار گرفته باشد.


امیرحسین کریم پور
امیرحسین کریم پور

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

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

نظرات