پاک کردن نا آگاهانه در زیرساخت اکتیو دایرکتوری توسط افراد گروه ادمین و یا Helpdesk ها همواره یه صورت سهوا و یا عمدا مشکلاتی را به بار می آورد که موجب افزایش بار عملیاتی افراد ادمین می شود. در بسیاری از این مواقع این اشتباهات بسیار سهوی و کوچک بوده اما تاثیری که باقی می گذارند بسیار ناگوار خواهد بود. به عنوان مثال پاک کردن کامپیوتر اکانت ها از Active Directory باعث از بین رفتن Secure Channel بین دامین کنترولر و آن کامپیوتر خواهد شد که در نتیجه باید سیستم مجددا به دامنه Join شود.
خوشبختانه قابلیت بسیار حیاتی در اکتیو دایرکتوری وجود دارد که جلوی پاک کردن منابع موجود را می گیرد و شما تنها در صورتی که واقعا نیاز به پاک کردن آن شی دارید باید ابتدا گزینه Protect From Accidental Deletion را غیر فعال نمایید.
حال چرا از این قابلیت برای محافظت از اشیا در اکتیو دایرکتوری استفاده نماییم؟ شما می توانید با استفاده از PowerShell این قابلیت را بر روی تمام اشیا فعال کرده تا خیالتان از بابت پاک کردن های سهوی راحت باشد.
برای اینکار دستورات زیر را در PowerShell بر روی دامین کنترولر خود وارد نمایید:
به منظور محافظت از حساب های کاربری در دامین:
Get-ADObject -filter {(ObjectClass -eq "user")} | Set-ADObject -ProtectedFromAccidentalDeletion:$true
به منظور محافظت از OU ها در دامین:
Get-ADOrganizationalUnit -filter * | Set-ADObject -ProtectedFromAccidentalDeletion:$true
نکته منفی موجود در این روش این است که در صورتی که نیاز به پاک کردن یک شی در اکتیو دایرکتوری دارید، باید حتما این قابلیت را غیرفعال نمایید، در غیر اینصورت با پیغام Access Denied مواجه خواهید شد.
یعنی برای غیر فعال کردن باید false قرار بدیم ؟