הסרת כל הגרסאות של Java: מדריך לתסריט PowerShell

אם תרצה למצוא משתמשים ב-Active Directory (AD) בדומיין שלך, פקודת ה-PowerShell Get-AdUser כאן. חשבונות המשתמש משוייכים לעובדים, חשבונות שירות ומשאבים אחרים. לפני שתבין, חשבונות המשתמש ב-AD מתחילים להיות קשים לניהול.

באמצעות הפקודה Get-AdUser ב-PowerShell, תוכל לקבל מידע על משתמשי AD בדרכים רבות. במאמר זה, תלמד כמה מהדרכים ואיך להשתמש בפקודה יעילה זו.

ניהול ודיווח ב-Active Directory, Exchange ו-Microsoft 365 עם ManageEngine ADManager Plus. הורד את הניסיון החינמי!

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

כדי להשתמש בדוגמאות של פקודת ה-Get-AdUser המוסברות במאמר זה, וודא שיש לך:

מציאת חשבון משתמש עם Identity

הפקודה Get-AdUser יש תכלית אחת ורק אחת. היא קיימת כדי לספק כמה שיותר אפשרויות למציאת משתמשי דומיין. אם כבר יש לך את שם המשתמש שברצונך לחפש, תוכל להשתמש בפרמטר Identity.

הפרמטר Identity מאפשר לך לספק אחת מארבעה מזהים שונים.

  • distinguishedName (DN)
  • samAccountName
  • GUID
  • SID

מטה תוכל לראות דוגמאות למציאת חשבון משתמש באמצעות מזהים שונים. שים לב שזה יחזיר קבוצה של מאפייני AD עבור כל חשבון משתמש.

PS> Get-ADUser -Identity abertram


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'S-1-5-21-4117810001-3432493942-696130396-3142'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local



PS> Get-ADUser -Identity 'CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local'


DistinguishedName : CN=Anne Bertram,OU=Marketing,DC=mylab,DC=local
Enabled           : False
GivenName         : Anne
Name              : Anne Bertram
ObjectClass       : user
ObjectGUID        : b98fd0c4-3d5d-4239-8245-b04145d6a0db
SamAccountName    : abertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3142
Surname           : Bertram
UserPrincipalName : abertram@mylab.local

המאפיין הנפוץ ביותר לשימוש עבור פרמטר ה- Identity יהיה המאפיין samAccountName.

מסנן Get-ADUser

אם תצטרך למצוא יותר ממשתמש דומיין אחד או שאינך מכיר מזהה, תשתמש במסנן. כדי לעשות זאת, יש לך כמה פרמטרים בשמך שנקראים Filter ו־LDAPFilter.

כל פרמטר מסנן מאפשר למשתמש לספק הצהרה תנאית. כאשר התנאי מתקיים, Get-AdUser יחזיר חשבונות משתמש התואמים לתנאי זה.

הפרמטר הנפוץ ביותר לסנן משתמשים הוא Filter. הפרמטר Filter מאפשר לך ליצור תנאים שדומים לתחביר הסננים של PowerShell Where-Object.

הפרמטר Filter משתמש בשפת ביטויים בשם PowerShell expression language syntax. שפה זו דומה למה שתשתמש עם Where-Object אך לא בדיוק. לפירוט על איך להשתמש בסינון זה, בדוק מאמר זה Active Directory ופילטרים LDAP.

למטה דוגמה לשימוש בפרמטר Filter. בדוגמה זו מספקים מאפיין AD (givenName בדוגמה זו) ומגדירים תנאי. המסנן מתיר רק למשתמשים להחזיר אם יש להם givenName שווה ל-Adam.

PS> Get-AdUser -Filter "givenName -eq 'Adam'"


DistinguishedName : CN=ADBertram,OU=Accounting,DC=mylab,DC=local
Enabled           : False
GivenName         : Adam
Name              : ADBertram
ObjectClass       : user
ObjectGUID        : 8ec5e2a8-1fda-42cb-9406-b1e6356dd457
SamAccountName    : ADBertram
SID               : S-1-5-21-4117810001-3432493942-696130396-3163
Surname           : Bertram
UserPrincipalName : ADBertram

DistinguishedName : CN=Hughes\, Adam,CN=Users,DC=mylab,DC=local
Enabled           : True
GivenName         : Adam
Name              : Hughes, Adam
ObjectClass       : user
ObjectGUID        : 96778db3-3dbd-4b83-9183-db111caa2791
SamAccountName    : ahughes
SID               : S-1-5-21-4117810001-3432493942-696130396-38201
Surname           : Hughes
UserPrincipalName :

אפשרות הסינון השניה היא LDAPFilter שלא תוכל להיות מוסברת במאמר זה. למידע נוסף על LDAPFilter ועל תחבירו, בדוק מאמר זה על Active Directory ופילטרים LDAP.

שימוש ב-Get-AdUser לפי OU

על ידי ספק זהות או מסנן, PowerShell מחזיר את כל המשתמשים בתחום התואם לקריטריונים. זה אינו מגביל לפי OU. תצטרך להגדיר "מסנן" עבור Get-AdUser כדי לסנן לפי OU באמצעות Get-Aduser -SearchBase <OU>.

שימוש בפרמטר SearchBase מאפשר לך להתחיל לחפש אחר חשבון משתמש ב-OU מסוימת. הפרמטר SearchBase מקבל את שם התקן (DN) של OU.

לדוגמה, אפשר למצוא את כל המשתמשים ב-OU MyUsers כפי שמוצג למטה. בשימוש ב-Filter של * אומר להתאים לכל חשבונות המשתמשים.

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local'

אולי אתה רוצה למצוא חשבונות משתמשים בתוך OU יחיד ולא לכלל OU ילדים. במקרה כזה, תוכל להשתמש בפרמטרים SearchBase ו-SearchScope. הפרמטר SearchScope מגדיר כמה עמוק בהיררכיה של OU אתה רוצה לחפש.

לדוגמה, אם אתה רוצה למצוא את כל חשבונות המשתמשים ב-OU ובכל ה-OU הילדים שלה, אתה יכול להשתמש בערך 1 עבור הערך של SearchScope. אם ברצונך לחפש דרך כל ה-OU הילדים והנכדים, אתה יכול להשתמש בערך 2.

למטה דוגמה לחיפוש אחר חשבונות משתמשים ב-OU של MyUsers ובכל ה-OU הילדים שלה.

PS> Get-ADUser -Filter * -SearchBase 'OU=MyUsers,DC=domain,DC=local' -SearchScope 2

שימוש בהרשאות חלופיות

במצב הברירת מחדל, Get-AdUser ירוץ תחת ההקשר של המשתמש המחובר. אך אתה יכול גם לספק הרשאות חלופיות באמצעות הפרמטר Credential.

כדי לאמת עם הרשאות חלופיות, צור אובייקט של PSCredential באמצעות Get-Credential כמו בדוגמה למטה:

PS> $cred = Get-Credential
PS> Get-AdUser -Filter * -Credential $cred

למידע נוסף על תעוזות, בדוק את השימוש בפקודת ה- PowerShell Get-Credential וכל הדברים הקשורים לה.

פרמטרי נכונות Get-AdUser של PowerShell

כשאתה מפעיל את Get-AdUser, אתה רואה מיד שרק מספר קטן של תכונות נחזירות. תראה גם שאפילו כשהפלט מופנה ל- Select-Object -Property *, לא כל התכונות נחזירות.

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

למטה תראו דוגמה לשימוש ב-Get-AdUser כדי למצוא את כל התכונות לכל חשבונות המשתמשים עם givenName של Adam. הפלט נקטע אך תראו תכונות מוכרות נוספות כמו כתובת דוא"ל, תכונות של סיסמה ועוד כאן.

PS> Get-AdUser -Filter "givenName -eq 'Adam'" -Properties *


AccountExpirationDate                :
accountExpires                       : 9223372036854775807
AccountLockoutTime                   :
AccountNotDelegated                  : False
AllowReversiblePasswordEncryption    : False
AuthenticationPolicy                 : {}
AuthenticationPolicySilo             : {}
BadLogonCount                        : 0
badPasswordTime                      : 0
badPwdCount                          : 0
CannotChangePassword                 : False
CanonicalName                        : mylab.local/Accounting/ADBertram
........

ניהול ודיווח ב-Active Directory, Exchange ו-Microsoft 365 עם ManageEngine ADManager Plus. הורד גרסה דמו בחינם!

סיכום

פקודת ה-cmdlet של Get-ADUser היא פקודה שימושית למציאת חשבונות משתמשים ב-AD, בניית דוחות ועוד. זו אופציה מצוינת לשליפת משתמשי AD מתוך דומיין. לקריאה נוספת על Get-AdUser וכל הפרמטרים, ניתן לקרוא את תוכן העזרה על ידי הרצת הפקודה Get-Help Get-AdUser.

לדוגמאות נוספות של שימוש ב-Get-AdUser, ניתן לבדוק את הפוסט בבלוג Active Directory Scripts Galore: Come and Get It!.

Source:
https://adamtheautomator.com/get-aduser/