إزالة جميع إصدارات Java: دليل سكريبت باورشيل

إذا كنت بحاجة إلى البحث عن مستخدمي Active Directory (AD) في نطاقك، فإن أمر Powershell Get-Aduser هو هنا. يتم تعيين حسابات المستخدمين للموظفين وحسابات الخدمة وغيرها من الموارد. قبل أن تدرك ذلك، يصبح حسابات مستخدمي AD صعبة الإدارة.

باستخدام Get-AdUser PowerShell cmdlet، يمكنك الحصول على مستخدمي AD بطرق متعددة. في هذا المقال، ستتعلم بعض هذه الطرق وكيفية استخدام هذا الأمر الرائع.

قم بإدارة وتقرير Active Directory، Exchange، وMicrosoft 365 مع ManageEngine ADManager Plus. قم بتنزيل النسخة التجريبية مجانًا!

المتطلبات

لاستخدام أمثلة أمر Get-AdUser المشمولة في هذا المقال، تأكد من وجود ما يلي:

  • على جهاز كمبيوتر يعمل بنظام Windows متصل بنطاق AD
  • تسجيل الدخول كحساب مستخدم AD
  • تثبيت وحدة PowerShell Active Directory

العثور على حساب مستخدم باستخدام Identity

يوجد لـ Get-AdUser cmdlet هدف واحد فقط. وجوده لتوفير أكبر عدد ممكن من الخيارات للعثور على مستخدمي النطاق. إذا كنت تعرف بالفعل اسم المستخدم الذي ترغب في البحث عنه ، يمكنك استخدام معلمة 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 تستخدم لغة تعبير تُدعى بلغة تعبير سطر الأوامر في باورشيل. هذه اللغة تشبه قليلاً ما تستخدمه مع Where-Object ولكن ليس تمامًا. للحصول على تفصيل حول كيفية استخدام هذا الفلتر، تحقق من هذا المقال حول تصفية دليل النشاط وفلاتر 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 وبنية جمله، تحقق من هذا المقال حول تصفية دليل النشاط وفلاتر LDAP.

استخدام Get-AdUser حسب وحدة التنظيم

من خلال توفير هوية أو فلتر، يقوم باورشيل بإرجاع جميع المستخدمين في النطاق الذي يطابق الشروط. لا يقتصر ذلك حسب وحدة التنظيم. ستحتاج إلى إعداد “فلتر” لـ Get-AdUser للتصفية حسب وحدة التنظيم باستخدام Get-Aduser -SearchBase <OU>.

استخدام معلمة SearchBase تتيح لك البدء في البحث عن حساب مستخدم في وحدة تنظيم محددة. تقبل معلمة SearchBase اسم الوحدة المميزة (DN) لوحدة التنظيم.

على سبيل المثال، يمكنك العثور على جميع المستخدمين في MyUsers OU كما هو موضح أدناه. باستخدام Filter بقيمة * يعني مطابقة جميع حسابات المستخدم.

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

ربما ترغب فقط في البحث عن حسابات المستخدمين في وحدة تنظيم فرعية واحدة واستبعاد أي وحدات تنظيم فرعية. في هذه الحالة، يمكنك استخدام معلمات SearchBase و SearchScope. تحدد معلمة SearchScope عمق البحث في تسلسل وحدات التنظيم.

على سبيل المثال، إذا كنت ترغب في العثور على جميع حسابات المستخدمين في وحدة تنظيم وجميع وحدات التنظيم الفرعية، يمكنك استخدام 1 كقيمة ل SearchScope. إذا كنت ترغب في البحث من خلال جميع وحدات التنظيم الفرعية والحفيدة، يمكنك استخدام 2.

فيما يلي مثال على البحث عن حسابات المستخدمين في وحدة التنظيم MyUsers وجميع وحدات التنظيم الفرعية أسفلها.

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 وكل ما يتعلق ببيانات الاعتماد.

معلمة خصائص PowerShell Get-AdUser

عند تشغيل Get-AdUser، سترى فورًا أنه يتم إرجاع عدد قليل من السمات. سترى أيضًا أنه حتى عند توجيه الإخراج إلى Select-Object -Property *، لا تظهر جميع السمات بعد.

لاستخدام PowerShell للحصول على سمات مستخدم Active Directory، استخدم معلمة 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 هو أمر مفيد للعثور على حسابات مستخدمي Active Directory، وبناء التقارير وأكثر من ذلك. إنه وسيلة رائعة لاستحضار مستخدمي Active Directory من النطاق. للحصول على تفصيل حول Get-AdUser وجميع المعلمات، اقرأ محتوى المساعدة عبر تشغيل Get-Help Get-AdUser.

بالنسبة للعديد من الأمثلة الأخرى حول كيفية استخدام Get-AdUser، تحقق من مقالة الويب Active Directory Scripts Galore: Come and Get It!.

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