ليس من المحتمل أن ينسى المستخدمون في منظمتك كلمات المرور، أليس كذلك؟ هل قام مستخدم في Active Directory بقفل حسابه؟ بالطبع لا! دعنا نرى ما يمكننا فعله للعثور على المستخدمين المقفلين في Active Directory باستخدام PowerShell!
توقف عن التعثر في مكالمات إعادة تعيين كلمة المرور وقفل الحسابات في Active Directory. احصل على فترة تجريبية مجانية لـ Specops uReset.
هل تعرضت شبكتك يومًا ما للإصابة ببرمجيات ضارة تحاول التوثيق باستخدام أكبر عدد ممكن من حسابات المستخدمين في النطاق؟ آمل أن لا يحدث ذلك، ولكن رأيت حدوثه عدة مرات. المستخدمون والديدان هما سببان فقط من الأسباب التي قد تؤدي إلى قفل حساب واحد أو أكثر في Active Directory. وبناءً على سياسة كلمة المرور الخاصة بك، قد تحدث القفلات بشكل يومي أو قد تحدث بين الحين والآخر.
بغض النظر عن السبب أو الوضع، تؤثر قفل الحسابات على مستخدميك. نظرًا لأنهم يعتمدون على حساب نطاق Active Directory الخاص بهم لتقريبًا كل شيء، فسيلاحظون على الفور عندما يتم قفله. يمكن لفريق مساعدتك في تمكين الحساب مرة أخرى، لكن ماذا لو حدث ذلك مرة أخرى؟ … ومرة أخرى. … ومرة أخرى. إيجاد سبب هذه المشكلة الجذرية أمر مهم.
وسيلة واحدة للقيام بذلك هي استخدام PowerShell ووحدة ActiveDirectory. من خلال استخدام أمر Search-AdAccount
داخل وحدة Active Directory ، يمكنك بسهولة تتبع جميع الحسابات التي تم قفلها حاليًا عبر النطاق الخاص بك.
ذات الصلة: كيفية تثبيت وحدة Active Directory PowerShell
العثور على المستخدمين المقفلين في Active Directory باستخدام PowerShell
للبحث عن الحسابات المقفلة ، يمكنك تشغيل أمر Search-AdAccount
باستخدام المعلمة LockedOut
. سيعيد هذا جميع المستخدمين المقفلين حاليًا بشرط أن لديك الحق في رؤيتهم.
هذا الأمر رائع ولكن ماذا لو كان لديك حساب يتم قفله باستمرار وتحتاج إلى معرفة من أي نظام يأتي ذلك؟ هذه مهمة شائعة عندما تكون هناك عدوى برامج ضارة في مكان ما في شبكتك أو ربما عندما يكون لديك مسؤول نسياني نسي أن يسجل خروج من جلسة سطح المكتب البعيدة. هل حدث ذلك من قبل، أليس كذلك؟
للعثور على مصدر قفل Active Directory ، ستحتاج أولاً إلى التأكد من أنك تستعلم عن الخادم الصحيح للمجال. في هذه الحالة ، سيكون هذا هو مراقب النطاق الفعال (PDC) الذي يحمل دور الناشر الأساسي (PDCe).
العثور على حامل دور PDCe
سيتم توجيه جميع عمليات المصادقة بكلمة المرور إلى متحكم النطاق هذا الذي يحمل دور PDCe لذلك فهو دائمًا أفضل مكان للتحقق. للعثور على متحكم النطاق الذي يحمل دور PDCe، يمكنك التحقق من خاصية PDCEmulator
المُرجعة من سطر الأوامر Get-ADDomain
.
تصفح سجل الأحداث لقفل الحسابات
عندما تحصل على متحكم النطاق الذي يحمل دور PDCe، ستحتاج بعد ذلك إلى استعلام سجل الأحداث الأمني (سجلات الأمان) لهذا المتحكم النطاق للحصول على حدث ID 4740. الحدث ID 4740 هو الحدث المُسجل في كل مرة يتم فيها قفل حساب. يمكنك القيام بذلك باستخدام سطر الأوامر Get-WinEvent
.
أنت أقرب بكثير الآن إلى العثور على المستخدمين المقفلين في Active Directory باستخدام PowerShell!
تحليل اسم المستخدم والموقع
سيتم إرجاع جميع حالات القفل ولكن لا يظهر على الفور اسم المستخدم وأجهزة الكمبيوتر التي تم فيها القفل. للعثور على اسم المستخدم، ستحتاج إلى الغوص قليلاً في خاصية تُرجعها سطر الأوامر Get-WinEvent
والتي تسمى Properties
.
يمكنك أن ترى أنني قمت بنقل عامل التصفية hashtable لمنع الكود من الانقسام و، الأهم من ذلك، استخدمت الخصائص المحسوبة لـ Select-Object
لاستخراج اسم المستخدم واسم الكمبيوتر من خاصية Properties
. في كل هذه الحالات، يكون اسم المستخدم الذي تم قفله دائمًا العنصر الأول في مصفوفة Properties
بينما يكون العنصر الثاني دائمًا اسم الكمبيوتر الذي تم فيه القفل.
الاستفادة من PowerShell لفتح حسابات AD
الآن بعد أن وجدت مستخدمي AD المقفلين، كيف تقوم بفتح الحسابات؟ يقدم وحدة ActiveDirectory
في PowerShell الأمر Unlock-ADAccount
الذي يساعد في إعادة العمل بسرعة للعميل. كما هو موضح أدناه، استخدم PowerShell لفتح حسابات AD. يعمل هذا الأمر في كل من Windows PowerShell وPowerShell 7 بمجرد تحميله عبر وحدة ActiveDirectory
.
ربما تكون ترغب في فتح جميع الحسابات المقفلة دفعة واحدة، استخدم Search-ADAccount
مع المعامل -LockedOut
وقم بتوجيه النتائج إلى أمر Unlock-ADAccount
، كما هو موضح أدناه.
تقليل مكالمات مكتب الخدمة وتحديث بيانات اعتماد التخزين المؤقت للمستخدمين عن بُعد حتى خارج VPN مع حلاً لإعادة تعيين كلمة المرور بدون خدمة ذاتية. احصل على عرض توضيحي لـ Specops uReset!
الملخص

الآن يجب أن تكون قادرًا على تحديد جميع الحسابات التي تم قفلها حاليًا في نطاقك، بالإضافة إلى رؤية تاريخ جميع حالات قفل الحسابات. الآن حان الوقت لإلقاء كلام حازم على جو بخصوص ترك تلك الجلسات عبر RDP مفتوحة…
Source:
https://adamtheautomator.com/find-locked-out-users-in-active-directory-powershell/