إدارة مجموعات Active Directory باستخدام PowerShell: الدليل النهائي

بصفتك مسؤول نظام ويندوز، من المحتمل أن تكون إدارة مجموعات Active Directory (AD) شيئًا تفعله كل يوم. بينما يمكنك استخدام وحدة التحكم MMC لمستخدمي Active Directory وأجهزة الكمبيوتر (ADUC)، ماذا يحدث عندما تحتاج إلى إدارة المجموعات عبر عدة مجالات أو أتمتة مهام إدارة المجموعات؟ هنا تأتي PowerShell لتكون مفيدة.

في هذا البرنامج التعليمي العملي، سوف تتعلم كيفية استخدام PowerShell لإدارة مجموعات AD كمحترف. سوف تتعلم كيفية استعلام المجموعات، وإنشاء مجموعات جديدة، وتعديل المجموعات الموجودة باستخدام أمثلة عملية من العالم الحقيقي.

المتطلبات المسبقة

إذا كنت ترغب في متابعة هذا البرنامج التعليمي، تأكد من أن لديك المتطلبات المسبقة التالية:

  • كمبيوتر يعمل بنظام ويندوز (ويندوز 10/11 أو ويندوز سيرفر) متصل بمجال Active Directory
  • حساب مستخدم لديه أذونات لإدارة مجموعات AD

استعلام مجموعات AD باستخدام PowerShell

دعنا نبدأ بسيناريو شائع – أنت مسؤول تكنولوجيا المعلومات الجديد في شركة وتحتاج إلى تدقيق هيكل مجموعة AD. يريد مديرك أن يعرف ما هي المجموعات الموجودة عبر الأقسام المختلفة. ستكون الأمر Get-ADGroup أفضل صديق لك هنا.

البحث عن المجموعات حسب الاسم

ربما تكون أبسط مهمة هي العثور على المجموعات التي تحتوي على نص معين في اسمها. على سبيل المثال، للعثور على جميع المجموعات التي تحتوي على “المبيعات” في الاسم:

Get-ADGroup -Filter 'Name -like "Sales"'

تعتبر النجوم (*) رموزًا عامة، تتطابق مع أي أحرف قبل أو بعد “المبيعات”. ستعيد هذه التعليمات جميع المجموعات التي تحتوي على “المبيعات” في أي مكان في اسمها.

تصفية حسب نوع المجموعة

ربما تريد فقط رؤية مجموعات الأمان (وليس مجموعات التوزيع). يمكنك إضافة معايير تصفية إضافية باستخدام عامل التشغيل -and:

Get-ADGroup -Filter 'Name -like "Sales" -and GroupCategory -eq "Security"'

الآن سترى فقط مجموعات الأمان التي تحتوي على “المبيعات” في اسمها.

البحث في وحدات تنظيمية محددة

هل تحتاج إلى العثور على مجموعات في وحدة تنظيمية معينة (OU)؟ استخدم معلمة SearchBase:

Get-ADGroup -Filter * -SearchBase 'OU=Engineering,DC=company,DC=local'

تجد هذه التعليمة جميع المجموعات داخل وحدة الهندسة ووحداتها الفرعية.

العثور على مجموعات تم إنشاؤها مؤخرًا

هل تريد معرفة المجموعات التي تم إنشاؤها بعد تاريخ معين؟ قم بالتصفية باستخدام خاصية whenCreated:

Get-ADGroup -Filter 'whenCreated -ge "2023-01-01"'

ترجع هذه جميع المجموعات التي تم إنشاؤها في أو بعد 1 يناير 2023.

إنشاء مجموعات جديدة في Active Directory

الآن دعنا نلقي نظرة على إنشاء مجموعات جديدة. ربما يكون شركتك في إعادة هيكلة وتحتاج إلى إنشاء مجموعات لأقسام جديدة.

إنشاء مجموعة أمان

إليك كيفية إنشاء مجموعة أمان جديدة لموظفي دعم تكنولوجيا المعلومات:

New-ADGroup -Name "IT_Support" `
            -GroupScope Global `
            -GroupCategory Security `
            -Description "Group for IT support staff" `
            -Path "OU=IT,DC=company,DC=local"

هذا ينشئ مجموعة أمان عالمية تسمى “IT_Support” في وحدة تكنولوجيا المعلومات التنظيمية.

إنشاء مجموعة توزيع

هل تحتاج إلى مجموعة توزيع عبر البريد الإلكتروني؟ فقط قم بتغيير بعض المعلمات:

New-ADGroup -Name "Marketing_News" `
            -GroupScope DomainLocal `
            -GroupCategory Distribution `
            -Description "Group for receiving marketing updates" `
            -Path "OU=Marketing,DC=company,DC=local"

إنشاء مجموعات متعددة مرة واحدة

هل لديك عدة مجموعات مشابهة لإنشائها؟ استخدم حلقة:

$regions = "North", "South", "East", "West"
foreach ($region in $regions) {
    New-ADGroup -Name "Sales_$region" `
                -GroupScope Global `
                -GroupCategory Security `
                -Description "Sales team for $region region" `
                -Path "OU=Sales,DC=company,DC=local"
}

تعديل المجموعات الموجودة

تتغير الأمور في المؤسسات. تحتاج المجموعات إلى إعادة تسمية، وتحديث الأوصاف، وتعديل النطاقات. دعنا نرى كيفية التعامل مع هذه المهام.

إعادة تسمية المجموعات

لإعادة تسمية مجموعة، ستحتاج إلى تغيير اسمها وsamAccountName الخاص بها:

# أولاً إعادة تسمية كائن المجموعة
Get-ADGroup EngineeringTeam | Rename-ADObject -NewName TechTeam

# ثم تحديث samAccountName
Get-ADGroup EngineeringTeam | Set-ADGroup -SamAccountName TechTeam

تحديث أوصاف المجموعات

هل تحتاج إلى تحديث وصف مجموعة؟ سطر واحد مع Set-ADGroup:

Get-ADGroup TechTeam | Set-ADGroup -Description 'Technical Team for Engineering Projects'

تغيير نطاق المجموعة

إذا كنت بحاجة إلى تغيير نطاق مجموعة (مثل من عالمي إلى عالمي شامل):

Get-ADGroup TechTeam | Set-ADGroup -GroupScope Universal

نصائح احترافية

إليك بعض النصائح لجعل إدارة مجموعات AD لديك أكثر كفاءة:

    1. استخدم دائمًا `-Filter` بدلاً من `-Identity` عند استعلامك عن مجموعات متعددة – إنها أكثر كفاءة

    1. تذكر أن نطاق المجموعة لا يمكن تغييره إذا كانت المجموعة تحتوي على أعضاء – قم بإزالة الأعضاء أولاً

    1. استخدم معلمة `-WhatIf` عند إجراء تغييرات لمعاينة ما سيحدث

    1. اختبر تغييرات مجموعتك دائمًا في بيئة غير إنتاجية أولاً

ملخص

يجب أن تكون الآن لديك أساس قوي لإدارة مجموعات AD باستخدام PowerShell. بينما يُعد ملحق مستخدمي وأجهزة Active Directory رائعًا للمهام الفردية، يمنحك PowerShell القدرة على أتمتة وإدارة المجموعات على نطاق واسع.

تذكر – الأمثلة المعروضة هنا هي مجرد البداية. إن أوامر PowerShell الخاصة بـ AD قوية ومرنة بشكل لا يصدق. مع شعورك بالراحة أكثر مع هذه الأساسيات، يمكنك بناء حلول أكثر تعقيدًا لتلبية احتياجات منظمتك.

هل تحتاج إلى معرفة المزيد عن Active Directory PowerShell؟ تحقق من دروسنا الأخرى:

Source: https://adamtheautomator.com/powershell-ad-groups-guide/