ניהול קבוצות Active Directory עם PowerShell: המדריך האולטימטיבי

כמנהל מערכת Windows, ניהול קבוצות Active Directory (AD) כנראה הוא משהו שאתה עושה כל יום. בעוד שאתה יכול להשתמש ב-Active Directory Users and Computers (ADUC) MMC snap-in, מה קורה כשאתה צריך לנהל קבוצות בין דומיינים מרובים או לאוטומט את משימות ניהול הקבוצות? כאן PowerShell נכנס לתמונה.

במדריך מעשי זה, תלמד כיצד להשתמש ב-PowerShell כדי לנהל קבוצות AD כמו מקצוען. תלמד איך לבצע שאילתות על קבוצות, ליצור חדשות ולשנות קבוצות קיימות באמצעות דוגמאות מעשיות מהמציאות.

דרישות מקדימות

אם תרצה לעקוב אחרי מדריך זה, ודא שיש לך את הדרישות המקדימות הבאות:

  • מחשב Windows (Windows 10/11 או Windows Server) מחובר לדומיין Active Directory
  • חשבון משתמש עם הרשאות לניהול קבוצות AD

שאילתת קבוצות AD עם PowerShell

נח开始 עם תרחיש נפוץ – אתה מנהל IT החדש בחברה וצריך לבדוק את מבנה קבוצות ה-AD. המנהל שלך רוצה לדעת אילו קבוצות קיימות במחלקות שונות. הפקודה Get-ADGroup תהיה החברה הטובה ביותר שלך כאן.

מציאת קבוצות לפי שם

אולי המשימה הפשוטה ביותר היא למצוא קבוצות המכילות טקסט ספציפי בשמן. לדוגמה, כדי למצוא את כל הקבוצות עם "מכירות" בשם:

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

האחריות (*) הם תויות גמישות, תואמות לכל תו לפני או אחרי "מכירות". פקודה זו תחזיר את כל הקבוצות שיש להן "מכירות" בכל מקום בשמן.

סינון לפי סוג קבוצה

אולי אתה רק רוצה לראות קבוצות אבטחה (לא קבוצות הפצה). אתה יכול להוסיף קריטריונים לסינון נוספים באמצעות המפעיל -and:

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

עכשיו תראה רק קבוצות אבטחה שיש להן "מכירות" בשמן.

חיפוש ב-OUs ספציפיים

צריך למצוא קבוצות ביחידת ארגון (OU) מסוימת? השתמש בפרמטר SearchBase:

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

פקודה זו מוצאת את כל הקבוצות בתוך ה-OU של ההנדסה ו-OUs התת-יחידות שלה.

מציאת קבוצות שנוצרו לאחרונה

רוצה לראות אילו קבוצות נוצרו לאחר תאריך מסוים? סנן לפי מאפיין whenCreated:

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

זה מחזיר את כל הקבוצות שנוצרו בתאריך 1 בינואר 2023 או לאחר מכן.

יצירת קבוצות AD חדשות

עכשיו נסתכל על יצירת קבוצות חדשות. אולי החברה שלך מתארגנת מחדש ואתה צריך ליצור קבוצות עבור מחלקות חדשות.

יצירת קבוצת אבטחה

הנה איך ליצור קבוצת אבטחה חדשה עבור צוות תמיכת IT:

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

זה יוצר קבוצת אבטחה גלובלית בשם "IT_Support" ביחידת הארגון IT.

יצירת קבוצת הפצה

צריך קבוצת הפצת דואר אלקטרוני? פשוט שנה כמה פרמטרים:

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 נותן לך את הכוח לאוטומט ולנהל קבוצות בקנה מידה.

זכור – הדוגמאות שהוצגו כאן הן רק ההתחלה. הפקודות של AD ב-PowerShell הן מאוד חזקות וגמישות. ככל שתהיה נוח יותר עם היסודות הללו, תוכל לבנות פתרונות מורכבים יותר שיתאימו לצרכי הארגון שלך.

צריך ללמוד יותר על Active Directory PowerShell? בדוק את המדריכים האחרים שלנו:

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