כיצד להתקין את מודול PowerShell Active Directory ולנהל AD
כל מנהל מערכת של Windows אמור להיות מסוגל להשתמש לא רק ביישום snap-in גרפי של AD (בדרך כלל מדובר ב- ADUC, משתמשים ומחשבים של Active Directory), אלא גם ברכיבי cmdlet של PowerShell לביצוע משימות ניהול יומיומיות של Active Directory. בדרך כלל, מודול Active Directory עבור Windows PowerShell משמש למשימות ניהול תחומים ואובייקטים (משתמשים, מחשבים, קבוצות). במאמר זה, נבחן כיצד להתקין את
RSAT-AD-PowerShellמודול ב- Windows, גלה את התכונות הבסיסיות שלו ואת רכיבי ה- cmdlet הפופולריים השימושיים לניהול ואינטראקציה עם AD.
כיצד להתקין את מודול PowerShell של Active Directory ב- Windows 10 ו- 11?
באפשרותך להתקין את מודול RSAT-AD PowerShell לא רק בשרתים אלא גם בתחנות עבודה. מודול זה כלול בחבילת RSAT (Remote Server Administration Tools) עבור Windows.
בגירסאות build נוכחיות של Windows 11 ו- Windows 10, רכיבי RSAT מותקנים באופן מקוון כתכונות לפי דרישה. באפשרותך להתקין את המודול באמצעות הפקודה:
Add-WindowsCapability -online -Name Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0
או דרך הגדרות -> אפליקציות -> תכונות אופציונליות -> הוסף תכונה -> RSAT: Active Directory Domain Services ו- Lightweight Directory Directory Services Tools.
היה צורך להוריד ולהתקין את חבילת RSAT באופן ידני בגירסאות קודמות של Windows. לאחר מכן, עליך להפעיל את מודול AD עבור PowerShell מלוח הבקרה: תוכניות ותכונות -> הפעלה או ביטול של תכונות Windows -> כלי ניהול שרת מרוחקים-> כלי ניהול תפקידים -> AD DS ו- AD LDS כלים.
תחילה עליך להתקין את מודול WindowsCompatibility כדי להשתמש ברכיבי cmdlet של AD ב- PowerShell Core 6.x, 7.x:
Install-Module -Name WindowsCompatibilityלאחר מכן טען את המודול להפעלה שלך:
Import-Module -Name WindowsCompatibility
Import-WinModule -Name ActiveDirectoryכעת באפשרותך להשתמש ברכיבי cmdlet של AD בקבצי script של PowerShell Core 7.x.
כיצד להתקין את הגירסה העדכנית ביותר של PowerShell ב- Windows?
התקנת מודול RSAT-AD-PowerShell ב- Windows Server
ב- Windows Server, באפשרותך להתקין את מודול Active Directory עבור Windows PowerShell מהמסוף הגרפי של מנהל השרת או באמצעות PowerShell.
באפשרותך לבדוק שמודול Active Directory מותקן עם הפקודה:
Get-WindowsFeature -Name "RSAT-AD-PowerShell"
אם המודול חסר, התקן אותו:
Install-WindowsFeature -Name "RSAT-AD-PowerShell" -IncludeAllSubFeatureכדי להתקין את המודול באמצעות Server Manager, עבור אל הוספת תפקידים ותכונות -> תכונות -> Remote Server Administration Tools -> Role Administration Tools -> AD DS ו-AD LDS Tools -> להפעיל את מודול Active Directory עבור Windows PowerShell.
אין צורך להשתמש בהפעלה של בקר תחום מקומי כדי לנהל את Active Directory באמצעות מודול RSAT-AD PowerShell. ניתן להתקין מודול זה בכל שרת חבר או תחנת עבודה. בבקרי תחום של AD, המודול מותקן באופן אוטומטי בעת פריסת התפקיד Active Directory Domain Services (AD DS) (כאשר השרת מקודם ל- DC).
המודול מקיים אינטראקציה עם AD באמצעות שירות האינטרנט של Active Directory שחייב לפעול בבקר התחום שלך וזמין ללקוחות ביציאת TCP 9389. השתמש ב- cmdlet Test-NetConnection כדי לוודא שיציאה זו אינה חסומה על-ידי חומת אש ב- DC:
Test-NetConnection MUN-DC1 -port 9389ניהול Active Directory עם PowerShell
מודול Active Directory עבור Windows PowerShell כולל מספר רב של רכיבי cmdlet לקיום אינטראקציה עם AD. קיימים 147 רכיבי cmdlet של AD PowerShell הזמינים בגירסה הנוכחית של המודול עבור Windows Server 2022/Windows 11.
ודא שהמודול מותקן במחשב:
Get-Module -Name ActiveDirectory -ListAvailableלפני שתוכל להשתמש רכיבי cmdlet מודול Active Directory, עליך לייבא אותו לתוך הפעלת PowerShell שלך (החל מ- Windows Server 2012 R2/Windows 8.1 המודול מיובא באופן אוטומטי).
Import-Module ActiveDirectoryודא שמודול AD נטען בהפעלת PowerShell:
Get-Module
באפשרותך להציג רשימה מלאה של רכיבי cmdlet זמינים של Active Directory:
Get-Command -module ActiveDirectoryהמספר הכולל של רכיבי cmdlet במודול AD:
Get-Command -module ActiveDirectory |measure-object|select countרוב רכיבי ה- cmdlet של מודול RSAT-AD PowerShell מתחילים ב-
Get-,
Set-או
New-קידומות.
Get- רכיבי cmdlet של מחלקה משמשים לקבלת מידע שונה מ- Active Directory (
Get-ADUser— מאפייני משתמש,
Get-ADComputer- הגדרות מחשב,
Get-ADGroupMember— חברות בקבוצה וכו'). אינך צריך להיות מנהל תחום כדי להשתמש ברכיבי cmdlet אלה. כל משתמש תחום יכול להפעיל פקודות PowerShell כדי לקבל את הערכים של תכונות אובייקט AD (למעט אלה סודיות, כמו בדוגמה עם LAPS);
רכיבי cmdlet מסוג Set- class משמשים להגדרה (שינוי) של מאפייני אובייקט ב- Active Directory. לדוגמה, באפשרותך לשנות מאפייני משתמש (Set-ADUser), הגדרות מחשב (Set-ADComputer) וכו '. כדי לבצע פעולות אלה, החשבון שלך חייב להיות בעל הרשאות כתיבה עבור האובייקטים שברצונך לשנות (עיין במאמר כיצד להקצות הרשאות מנהל מערכת ב- Active Directory);
פקודות שמתחילות בחדש- מאפשרות לך ליצור אובייקטי AD (צור משתמש —
New-ADUserצור קבוצה —
New-ADGroupיצירת יחידה ארגונית —
New-ADOrganizationalUnit);
רכיבי cmdlet המתחילים ב- Add-: הוספת משתמש לקבוצה (
Add-ADGroupMember), הוסף מדיניות סיסמאות פרטניות (
Add-ADFineGrainedPasswordPolicySubject);
הסר- רכיבי cmdlet משמשים למחיקת אובייקטי AD
Remove-ADGroup,
Remove-ADComputer,
Remove-ADUser).
קיימים רכיבי cmdlet ספציפיים של PowerShell שבהם באפשרותך להשתמש כדי לנהל רכיבי AD מסוימים בלבד:
Enable-ADOptionalFeature- הפעל תכונות AD אופציונליות (לדוגמה, סל מיחזור AD כדי לשחזר אובייקטים שנמחקו);
Install-ADServiceAccount- להגדיר חשבון שירות מנוהל (MSA, gMSA);
Search-ADAccount- מאפשר לך למצוא חשבונות משתמש ומחשב מושבתים, לא פעילים, נעולים ב- Active Directory;
Enable-ADAccount/
Disable-ADAccount/
Unlock-ADAccount- הפעל/השבת/ביטול נעילה של חשבון.
כברירת מחדל, רכיבי ה- cmdlet של PowerShell מתחברים לבקר התחום הקרוב ביותר בסביבה שלך (LOGONSERVER). באמצעות הפרמטר -Server, באפשרותך להתחבר ל- ADDS בבקר תחום אחר או בתחום אחר (באפשרותך להציג רשימה של DCs בתחום אחר באמצעות
nltest /dclist:newad.comפקודה).
הפרמטר -Server זמין עבור כמעט כל רכיבי ה- cmdlet של המודול. לדוגמה
Get-ADuser j.smith -Server mun-dc1.a-d.siteבאפשרותך גם להשתמש בפרמטר -Credential כדי לציין אישורי משתמש חלופיים של Active Directory.
$creds = Get-Credential
Get-ADUser -Filter * -Credential $credsכך תוכל לקבל עזרה בכל cmdlet
get-help Set-ADUserבאפשרותך להציג את הדוגמאות לשימוש ברכיבי cmdlet של Active Directory באופן הבא:
(get-help New-ADComputer).examplesייבוא מודול PowerShell של Active Directory ממחשב מרוחק
אין צורך להתקין את מודול AD PowerShell בכל המחשבים. מנהל מערכת יכול לייבא מודול זה מרחוק מבקר תחום (נדרשות הרשאות מנהל תחום) או מכל מחשב אחר.
PowerShell Remoting משמש כדי להתחבר למחשב מרוחק. לשם כך נדרש שניהול מרחוק של Windows (WinRM) יהיה זמין ומוגדר במחשב המארח המרוחק.
צור הפעלה חדשה עם המחשב המרוחק שבו מותקן מודול AD PowerShell:
$psSess = New-PSSession -ComputerName DC_or_Comp_with_ADPoshייבא את מודול ActiveDirectory מהמחשב המרוחק אל הפעלת PS המקומית שלך:
Import-Module -PSsession $psSess -Name ActiveDirectoryכעת באפשרותך להפעיל פקודות ממודול Active Directory במחשב שלך כאילו המודול הותקן באופן מקומי. עם זאת, הם יבוצעו על מארח מרוחק.
באפשרותך להוסיף פקודות אלה לקובץ הפרופיל של PowerShell כדי לייבא באופן אוטומטי את המודול מההפעלה המרוחקת בעת הפעלת מסוף powershell.exe. הפעל את
notepad $profile.CurrentUserAllHostsכדי לפתוח את קובץ פרופיל PS שלכם.
ניתן לסיים הפעלה מרחוק באמצעות הפקודה :
Remove-PSSession -Session $psSessשיטה זו של ייבוא מודול AD באמצעות PowerShell remoting משתמע מאפשר לך להשתמש ברכיבי cmdlet PowerShell ממארחי Linux ו- MacOS שאינם יכולים להתקין עותק מקומי של המודול.
למד כיצד להתקין את PowerShell Core ב- Linux.
באפשרותך גם להשתמש במודול Active Directory עבור PowerShell מבלי להתקין RSAT. לביצוע
זה, פשוט להעתיק כמה קבצים ממחשב שבו מודול RSAT-AD PowerShell מותקן:
מדריך
C:\Windows\System32\WindowsPowerShell\v1.0\Modulesקובץ
ActiveDirectory.Management.dllקובץ
ActiveDirectory.Management.resources.dll
לאחר מכן עליך לייבא את המודול להפעלה הנוכחית שלך:
Import-Module C:\PS\ADmodule\Microsoft.ActiveDirectory.Management.dll
Import-Module C:\PS\ADmodule\Microsoft.ActiveDirectory.Management.resources.dllלאחר מכן, תוכל להשתמש בכל רכיבי ה- cmdlet של מודול AD מבלי להתקין RSAT.
פקודות נפוצות של PowerShell עבור Active Directory
בוא נסתכל על כמה משימות ניהוליות טיפוסיות שניתן לבצע באמצעות רכיבי cmdlet של Active Directory עבור PowerShell.
באפשרותך למצוא כמה דוגמאות שימושיות לשימוש ברכיבי cmdlet של מודול Active Directory for PowerShell באתר האינטרנט של WOSHub. עקוב אחר הקישורים כדי לקבל הוראות מפורטות.
New-ADUser: יצירת משתמשי AD
כדי ליצור משתמש AD חדש, באפשרותך להשתמש ב- cmdlet New-ADUser. באפשרותך ליצור משתמש באמצעות הפקודה הבאה:
New-ADUser -Name "Mila Beck" -GivenName "Mila" -Surname "Beck" -SamAccountName "mbeck" -UserPrincipalName "mbeck@a-d.site" -Path "OU=Users,OU=Berlin,OU=DE,DC=a-d,DC=com" -AccountPassword(Read-Host -AsSecureString "Input User Password") -Enabled $trueלקבלת מידע מפורט אודות ה- cmdlet New-ADUser (כולל דוגמה אודות אופן היצירה של חשבונות תחום משתמש בצובר), עיין במאמר זה.
Get-ADComputer: קבלת מאפייני אובייקט מחשב
כדי לקבל את המאפיינים של אובייקטי מחשב ב- OU מסוים (שם המחשב ותאריך הכניסה האחרון), השתמש ב- cmdlet Get-ADComputer:
Get-ADComputer -SearchBase ‘OU=CA,OU=USA,DC=a-d,DC=com’ -Filter * -Properties * | FT Name, LastLogonDate -AutosizeAdd-ADGroupMember: הוספת משתמשי Active Directory לקבוצה
כדי להוסיף משתמשים לקבוצת אבטחה קיימת בתחום AD, הפעל פקודה זו:
Add-AdGroupMember -Identity LondonSales -Members e.braun, l.wolfהצג את רשימת המשתמשים בקבוצה AD וייצא אותה לקובץ CSV:
Get-ADGroupMember LondonSales -recursive| ft samaccountname| Out-File c:\ps\export_ad_users.csvקבל מידע נוסף על ניהול קבוצות AD באמצעות PowerShell.
Set-ADAccountPassword: איפוס סיסמת משתמש ב-AD
כדי לאפס סיסמת משתמש ב- AD באמצעות PowerShell:
Set-ADAccountPassword m.lorenz -Reset -NewPassword (ConvertTo-SecureString -AsPlainText “Ne8Pa$$0rd1” -Force -Verbose) -PassThruכיצד לבטל נעילה, להפעיל ולהשבית חשבונות Active Directory?
כדי להשבית את חשבון המשתמש של AD:
Disable-ADAccount m.lorenzכדי להפעיל חשבון:
Enable-ADAccount m.lorenzביטול נעילה של חשבון לאחר שננעל על-ידי מדיניות סיסמאות תחום:
Unlock-ADAccount m.lorenzSearch-ADAccount: כיצד למצוא אובייקטי AD לא פעילים ולא פעילים?
כדי לחפש ולהשבית את כל המחשבים בתחום AD שלא נכנסו במשך יותר מ- 90 יום, השתמש ב- cmdlet Search-ADAcount:
$timespan = New-Timespan -Days 90
Search-ADAccount -AccountInactive -ComputersOnly -TimeSpan $timespan | Disable-ADAccountNew-ADOrganizationalUnit: יצירת יחידה ארגונית ב- AD
כדי ליצור במהירות מבנה טיפוסי של יחידה ארגונית ב- AD, באפשרותך להשתמש בקובץ script של PowerShell. נניח שברצונך ליצור רכיבי OU מרובים עם מצבים כשמותיהם וליצור גורמים מכילים אופייניים של אובייקטים. יצירת מבנה AD זה גוזלת זמן רב באופן ידני באמצעות יישום ה- Snap-in הגרפי של ADUC. מודול AD עבור PowerShell מאפשר לפתור משימה זו תוך שניות (למעט הזמן לכתוב את הסקריפט):
$fqdn = Get-ADDomain
$fulldomain = $fqdn.DNSRoot
$domain = $fulldomain.split(".")
$Dom = $domain[0]
$Ext = $domain[1]
$Sites = ("Nevada","Texas","California","Florida")
$Services = ("Users","Admins","Computers","Servers","Contacts","Service Accounts")
$FirstOU ="USA"
New-ADOrganizationalUnit -Name $FirstOU -Description $FirstOU -Path "DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($S in $Sites)
{
New-ADOrganizationalUnit -Name $S -Description "$S" -Path "OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
foreach ($Serv in $Services)
{
New-ADOrganizationalUnit -Name $Serv -Description "$S $Serv" -Path "OU=$S,OU=$FirstOU,DC=$Dom,DC=$EXT" -ProtectedFromAccidentalDeletion $false
}
}לאחר הפעלת קובץ ה-script, תראה את מבנה ה-OU הבא ב- Active Directory.
כדי להעביר אובייקטים בין גורמים מכילים של AD, ניתן להשתמש ב- cmdlet Move-ADObject:
$TargetOU = "OU=Sales,OU=Computers,DC=a-d,DC=com"
Get-ADComputer -Filter 'Name -like "SalesPC*"' | Move-ADObject -TargetPath $TargetOUGet-ADReplicationFailure: בדוק שכפול Active Directory
באפשרותך להשתמש ב- cmdlet Get-ADReplicationFailure כדי לבדוק את מצב השכפול בין בקרי תחום AD:
Get-ADReplicationFailure -Target NY-DC01,NY-DC02באפשרותך להשתמש בפקודה זו כדי לבדוק את התקינות של בקרי תחום ו- Active Directory.
כדי לקבל מידע על כל DCs בתחום, השתמש ב- cmdlet Get-AdDomainController:
Get-ADDomainController -filter * | select hostname,IPv4Address,IsGlobalCatalog,IsReadOnly,OperatingSystem | format-table -autoבמאמר זה, בדקנו כיצד להתקין את מודול Active Directory PowerShell ולהשתמש בו לניהול תחום AD. אני מקווה שמאמר זה יעודד אותך להמשיך לחקור מודול זה ולהתחיל להפוך את רוב משימות ניהול AD שלך לאוטומטיות.









