آموزش Group Policy ⁦(GPO)⁩ در ویندوز سرور

Group Policy یا سیاست گروهی (GPO) روش مرکزی ویندوز برای اعمال تنظیمات روی کاربران و کامپیوترهای یک دامنه است. به‌جای اینکه رمز، فایروال، درایو شبکه یا محدودیت‌ها را روی تک‌تک سیستم‌ها تنظیم کنید، یک بار در Group Policy Management یک GPO می‌سازید، آن را به یک Organizational Unit (OU) وصل می‌کنید و تنظیم روی همه اعضای آن اعمال می‌شود. دستور gpupdate /force تغییر را بدون انتظار روی یک کلاینت اعمال می‌کند و gpresult /r نشان می‌دهد کدام سیاست‌ها روی آن اعمال شده‌اند.

GPO بخشی جدایی‌ناپذیر از Active Directory است و بدون دامنه، فقط سیاست محلی (Local Policy) در دسترس است. اگر هنوز دامنه راه‌اندازی نکرده‌اید، ابتدا Active Directory در ویندوز سرور را ببینید و بعد به این راهنما برگردید.

Group Policy از چه اجزایی تشکیل شده است؟

جزءمعنی
GPOمجموعه‌ای از تنظیمات با یک نام، مثل «سیاست رمز»
OUپوشه‌ای در Active Directory برای گروه‌بندی کاربران و کامپیوترها
Linkاتصال GPO به یک سایت، دامنه یا OU
Computer Configurationتنظیماتی که روی کامپیوتر اعمال می‌شود، صرف‌نظر از اینکه چه کسی وارد شود
User Configurationتنظیماتی که با ورود کاربر اعمال می‌شود
Security Filteringمحدود کردن GPO به گروه یا کاربر مشخص
SYSVOLپوشه مشترک که فایل‌های GPO در آن ذخیره می‌شود و بین کنترلرهای دامنه کپی می‌شود

ترتیب اعمال سیاست‌ها

سیاست‌ها به ترتیب LSDOU اعمال می‌شوند: Local، Site، Domain، OU. سیاست‌های بعدی بر قبلی غلبه می‌کنند. اگر در یک سطح چند GPO باشد، GPO با ترتیب پیوند بالاتر (Link Order کمتر) اولویت دارد. اگر دو سیاست تنظیم یکسان داشته باشند، آخرین اعمال‌شده برنده است، مگر اینکه روی یکی Enforced باشد. به همین خاطر ساختار OU را از ابتدا مرتب طراحی کنید.

مرحله اول: ساخت OU

قبل از ساخت GPO، ساختار منطقی بسازید؛ مثلاً OU جدا برای کامپیوترها، سرورها و کاربران هر دپارتمان. در Active Directory Users and Computers روی دامنه راست‌کلیک کنید و New > Organizational Unit را بزنید. یا با PowerShell:

New-ADOrganizationalUnit -Name "Workstations" -Path "DC=example,DC=local"
New-ADOrganizationalUnit -Name "Servers" -Path "DC=example,DC=local"

نام دامنه نمونه است. سپس کامپیوترها و کاربران را به OU مناسب منتقل کنید. اعمال یک GPO روی OU پایه‌ای برای هر تنظیم بعدی است و اعمال همه چیز روی کل دامنه، اشتباه رایج و پرخطر است.

مرحله دوم: ساخت و لینک GPO

  1. ابزار Group Policy Management را از Server Manager (Tools) باز کنید.
  2. روی OU مورد نظر راست‌کلیک کنید و Create a GPO in this domain, and Link it here را بزنید.
  3. یک نام روشن بگذارید، مثل Workstations - Security Baseline.
  4. روی GPO راست‌کلیک و Edit بزنید تا ویرایشگر باز شود.

با PowerShell:

Import-Module GroupPolicy
New-GPO -Name "Workstations-Security" | New-GPLink -Target "OU=Workstations,DC=example,DC=local"

نمونه‌های کاربردی

هدفمسیر در ویرایشگر
سیاست رمز و قفل حسابComputer Configuration > Policies > Windows Settings > Security Settings > Account Policies (فقط در GPO سطح دامنه اثر دارد)
قفل خودکار صفحهComputer Configuration > Policies > Windows Settings > Security Settings > Local Policies > Security Options (Interactive logon: Machine inactivity limit)
نگاشت درایو شبکهUser Configuration > Preferences > Windows Settings > Drive Maps
محدود کردن Control PanelUser Configuration > Policies > Administrative Templates > Control Panel
بستن USB storageComputer Configuration > Policies > Administrative Templates > System > Removable Storage Access
تنظیم Windows UpdateComputer Configuration > Policies > Administrative Templates > Windows Components > Windows Update
قوانین فایروال ویندوزComputer Configuration > Policies > Windows Settings > Security Settings > Windows Defender Firewall with Advanced Security

سیاست رمز و قفل حساب (Account Policies) فقط وقتی روی کاربران دامنه اثر می‌گذارد که در GPO سطح دامنه باشد. اگر آن‌ها را به یک OU وصل کنید، فقط روی حساب‌های محلی آن کامپیوترها اعمال می‌شود. برای سیاست‌های متفاوت روی گروه‌های مختلف، از Fine-Grained Password Policy استفاده کنید.

مرحله سوم: اعمال و بررسی

تغییر GPO به‌طور خودکار هر 90 دقیقه (با تصادفی‌سازی حداکثر 30 دقیقه) روی کلاینت‌ها اعمال می‌شود و روی کنترلر دامنه هر 5 دقیقه. برای اعمال فوری روی یک کلاینت:

gpupdate /force

برای دیدن نتیجه:

gpresult /r
gpresult /h report.html

گزارش HTML نشان می‌دهد هر تنظیم از کدام GPO آمده و کدام GPO اعمال نشده و دلیلش چیست. بعضی تنظیم‌ها (مثل نرم‌افزار یا اسکریپت ورود) فقط بعد از خروج و ورود دوباره یا راه‌اندازی مجدد اعمال می‌شوند.

قواعد طراحی GPO

  • هر GPO یک هدف مشخص داشته باشد (مثلاً «تنظیمات امنیتی» یا «درایو شبکه»). GPO بزرگ و چندمنظوره عیب‌یابی را سخت می‌کند.
  • نام GPO معنادار باشد و توضیح داشته باشد.
  • تغییرات را اول روی یک OU آزمایشی امتحان کنید.
  • قبل از تغییر مهم، از GPO بکاپ بگیرید:
Backup-GPO -Name "Workstations-Security" -Path "C:\GPOBackup"
  • تنظیمات Computer و User را در یک GPO ترکیب نکنید، یا بخش بی‌استفاده را غیرفعال کنید تا پردازش سریع‌تر شود.
  • سیاست پیش‌فرض دامنه (Default Domain Policy) را فقط برای تنظیمات حساب دامنه تغییر دهید و بقیه را در GPOهای جدا بسازید.

برنامه بکاپ کامل سرور و دامنه در بکاپ و بازیابی بحران آمده است.

عیب‌یابی GPO

وقتی سیاست اعمال نمی‌شود، این ترتیب را بررسی کنید:

  1. کامپیوتر یا کاربر در همان OU است که GPO به آن لینک شده؟
  2. GPO در وضعیت Enabled است و لینک غیرفعال نشده؟
  3. Security Filtering اجازه Read و Apply group policy را به کامپیوتر یا کاربر می‌دهد؟
  4. WMI Filter (اگر هست) شرایط را برآورده می‌کند؟
  5. سیاست دیگری با اولویت بالاتر آن را بازنویسی نکرده؟
  6. کلاینت به کنترلر دامنه و DNS دسترسی دارد؟ nltest /dsgetdc:example.local را اجرا کنید.
  7. در Event Viewer، لاگ Microsoft-Windows-GroupPolicy/Operational چه می‌گوید؟

یکی از رایج‌ترین مشکل‌ها DNS است. اگر کلاینت DNS دامنه را نمی‌شناسد، سیاست‌ها اعمال نمی‌شوند. وضعیت رکوردهای DNS با ابزار بررسی DNS دامنه قابل بررسی است و برای ساختار آن در انواع رکورد DNS بخوانید.

خطاهای رایج

نشانهعلت و راه حل
GPO اعمال نمی‌شودلینک به OU اشتباه، Security Filtering یا DNS؛ gpresult /h را بررسی کنید
تنظیم رمز اثر نداردGPO روی OU لینک شده؛ باید روی دامنه باشد
بعد از gpupdate تغییر نمی‌کندتنظیم نیاز به خروج و ورود یا ری‌استارت دارد
فقط روی بعضی سیستم‌ها اعمال می‌شودفیلتر امنیتی یا WMI Filter؛ عضویت گروه را بررسی کنید
GPO قدیمی اعمال می‌شودهمگام‌سازی SYSVOL بین کنترلرهای دامنه مشکل دارد
کار مدیریت خیلی کند شدهتعداد زیاد GPO و پردازش طولانی؛ GPOهای بی‌استفاده را حذف یا ادغام کنید

سوالات متداول

Group Policy روی سیستم بدون دامنه کار می‌کند؟

فقط Local Group Policy (با gpedit.msc) روی همان سیستم. مدیریت مرکزی نیاز به Active Directory دارد.

فرق GPO و Preferences چیست؟

Policies تنظیم را اجباری می‌کند و کاربر نمی‌تواند عوضش کند. Preferences مقدار پیش‌فرض می‌گذارد و کاربر می‌تواند آن را تغییر دهد (مگر اینکه گزینه‌های اجبار روشن باشند).

اگر GPO را حذف کنم تنظیمات برمی‌گردد؟

برای بیشتر تنظیمات Administrative Templates بله (Tattooing ندارند)، ولی بعضی تنظیمات (مثل Preferences یا امنیتی) باقی می‌مانند. پیش از حذف، اثر را روی OU آزمایشی بررسی کنید.

چند GPO روی یک OU اشکال دارد؟

مشکلی نیست، ولی هر چه بیشتر باشد، زمان ورود و عیب‌یابی بیشتر می‌شود. GPOهای مرتبط را با نام روشن دسته‌بندی کنید.

منابع

پاسخی بگذارید

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