كيفية العثور على وقت تسجيل الدخول الأخير لمستخدمي Active Directory (باستخدام ADUC). Active Directory هو جزء مركزي من العديد من الشبكات المبنية على نظام تشغيل Windows ويعمل كقاعدة بيانات لالمستخدمين والمجموعات والأجهزة الحاسوبية التي يديرها مسؤولو النظام. إحدى المهام الحاسمة لمسؤولي النظام هي تحديد حسابات المستخدمين الغير نشطة في Active Directory وإزالتها لتحسين الأمان وتقليل الفوضى في الدليل. لتحقيق ذلك ، يحتاج المسؤولون إلى العثور على آخر وقت تسجيل دخول لمستخدم في Active Directory.
توجد عدة طرق لتحقيق هذا ، بما في ذلك واجهة المستخدم ووحدة التحكم في المستخدمين في Active Directory واستعلامات LDAP وأوامر PowerShell. في هذا الموضوع ، نلقي نظرة على هذه الطرق بمزيد من التفصيل ونوضح كيف يمكن لمدراء النظام العثور بسهولة على آخر وقت تسجيل الدخول للمستخدم في Active Directory.
هل نواصل مع المقالة كيفية العثور على آخر وقت تسجيل الدخول للمستخدمين في Active Directory (باستخدام ADUC).
كيفية العثور على آخر وقت تسجيل الدخول للمستخدمين في Active Directory (باستخدام ADUC)
3. حدد المستخدم في شجرة AD والوصول إلى خصائصه.
4. انقر على علامة التبويب محرر السمات.
5. ابحث عن سمة ال آخر تسجيل في في قائمة السمات، والتي تعرض آخر وقت تسجيل دخول المستخدم في المجال.
ملاحظة. السماتlastLogonوlastLogonTimestampالموجودة على الصورة أعلاه متشابهة. إذًا ما الفرق بينهما؟
خصائص تاريخ تسجيل الدخول
- عندما يقوم المستخدم بتسجيل الدخول إلى المجال، يتم تغيير lastLogon السمة المعنية. ومع ذلك، يغير ذلك فقط جهاز التحكم في المجال الذي قدم للمجموعات الأخرى جهاز التحكم في المجال للمستخدم الذي لم يتم تكراره المصادقة. نتيجة لذلك، يجب علينا فحص هذه السمة على كل جهاز تحكم في المجال، إذا كانت هناك عدة جهاز تحكم في المجال موزعة عبر مجموعات نقاط نشر الفيديو المتعددة والأقسام. ثم يجب علينا مقارنة المعلومات التي تم الحصول عليها. قد يختلف قيمة هذه السمة للمستخدم على جهاز تحكم في المجال متعددة أو حتى تكون صفرًا (إذا كان المستخدم هو مستخدم غير مصادق على هذا الجهاز تحكم في المجال).
- عند تسجيل الدخول المستخدم إلى جهاز تحكم المجال، يتم تعديل lastLogonTimeStamp السمة كذلك، ونحن ننسخها إلى المحاكي الآخرين. ومع ذلك، يستغرق وقتًا لتكرار هذا الخاصية (نحن نعيد إنتاجها فقط إذا كان القيمة الحالية 14 يومًا أو أكبر من السابقة). نتيجة لذلك، قد يحتاج المعلومات في هذه الخاصية لجهاز تحكم معين إلى أن يكون أكثر أهمية.
بدءًا من نسخة Windows Server AD Schema 2008 (AD Schema objectVersion = 44)، نستخدم سمات متعددة أخرى ذات صلة بالتسجيل. وهذه تشمل:
- msDS-LastFailedInteractiveLogonTime: يعرض وقت آخر فشل محاولة التسجيل.
- msDS-LastSuccessfulInteractiveLogonTime: يعرض وقت آخر محاولة تسجيل ناجحة. من الضروري التحقق من إصدار AD Schema لتحديد ما إذا كان من الضروري تحديث نظام المجموعة النشطة.
هذه الخصائص التي نستخدمها لتتبع محاولات تسجيل الدخول التفاعلية للمستخدمين غالبًا ما تتكرر بين جهات التحكم في مجال المجلس التنفيذي. ومع ذلك ، فإنها لا تجمع تلقائيًا أي معلومات حول تفضيلات المستخدم.
جرب أدوات تقرير ومراقبة المجلس التنفيذي النشط و Office 365
جربنا مجانًا. هناك المئات من نماذج التقارير المتاحة. قم بتخصيص تقاريرك الخاصة بسهولة على AD و Azure AD و Office 355.
تمكين خصائص تسجيل الدخول باستخدام سياسة المجموعة
لجعل هذه الميزات متاحة:
- قم بتمكين إعداد سياسة المجموعة (GPO) “توفير معلومات حول الدخول السابقة إلى أجهزة العملاء لجهات التحكم في المجال” الموجودة عند إعدادات الكمبيوتر > الإعدادات الادارية > النظام > KDC.
- قم بإنشاء GPO بهذا المعلمة.
- قم بتعيين GPO لحاوية مجلدات تحكم المجال.
لإنشاء قائمة بالمستخدمين الذين لم يقموا بتسجيل الدخول إلى المجال لفترة من الوقت باستخدام استعلام LDAP في وحدة التحكم البصري للActive Directory، اتبع هذه الخطوات:
- قم بتحويل التاريخ المطلوب إلى تنسيق ToFileTime. على سبيل المثال، إذا أردنا العثور على المستخدمين الذين لم يقموا بتسجيل الدخول لأكثر من 90 يومًا، نستخدم أمر PowerShell للحصول على قيمة التاريخ:
(Get-Date).AddDays(-90).ToFileTime()
تقدم هذه المقطع من الكود قيمة في وقت حجري مثل 132988354159396418 بناءً على التاريخ المحدد.
2. أدخل قيمة FileTimeDate في الاستعلام LDAP:
console.log( 'Code is Poetry' );
3. افتح وحدة تحكم AD Users and Computers، انقر بزر الماوس الأيمن على العقدة Saved Queries، ثم انقر على New، ثم Query.
4. أضف اسمًا للاستعلام وانقر على زر Define Query.
5. اختر Custom Search من قائمة السهم وتبديل إلى علامة التبويب Advanced.
6. ألصق الاستعلام LDAP في حقل Enter LDAP Query.
7. احفظ الاستعلام بالنقر على OK ثم تأكيد مع زر OK.
8. حدد الاستعلام في Saved Queries واضغط على F5 لتحديث قائمة الكائنات. تعرض وحدة تحكم ADUC قائمة ثنائية الأبعاد للمستخدمين الذين تسجيل الدخول آخر إلى المجال لأكثر من 90 يومًا.
9. قم بإزالة أو تعطيل حسابات المستخدمين غير النشطة في المجال مباشرة من وحدة التحكم AD console.
ابحث عن وقت التسجيل الأخير باستخدام CMD
التالي مع المقالة كيفية العثور على آخر وقت تسجيل الدخول للمستخدمين في Active Directory (باستخدام ADUC) هو تعلم كيفية العثور على آخر وقت تسجيل الدخول باستخدام CMS. باستخدام أدوات net أو dsquery من سطر الأوامر، قد نكتشف متى قام المستخدم آخر مرة لتسجيل الدخول إلى المجال. على سبيل المثال، قم بتشغيل الأمر التالي داخل المحطة النظامية (لا نحتاج إلى حقوق مدير المجال للحصول على معلومات مستخدم AD):
net user administrator /domain | findstr "Last"
إذا أردنا الحصول على آخر وقت تسجيل الدخول لمستخدم محلي، نحتاج إلى إزالة معلمة /domain:
net user User | findstr "Last"
نحصل أيضًا على آخر وقت تسجيل الدخول باستخدام dsquery. على سبيل المثال:
dsquery * domainroot -filter "(&(objectCategory=Person)(objectClass=User)(sAMAccountName=admin))" -attr distinguishedName lastLogon lastLogonTimestamp -limit 0
المشكلة الرئيسية هي أن سمات lastLogonTimestamp و lastLogon في AD هي بتنسيق تاريخ الطابع الزمني، ونحتاج إلى تحويلها إلى تنسيق زمن عادي.
نستخدم هذا الأمر للعثور على جميع المستخدمين غير النشطين، على سبيل المثال، لمدة 10 أسابيع:
dsquery user domainroot -inactive 10
ابحث عن آخر وقت تسجيل الدخول باستخدام PowerShell
نستخدم أيضًا PowerShell للحصول على وقت آخر دومين تسجيل الدخول للمستخدم. لهذا، نحتاج إلى استخدام وحدة PowerShell Active Directory وأوامر PowerShell الأوامر. أولاً، افتح PowerShell وقم بتشغيل سطر الأوامر Import-Module لاستيراد الوحدة Active Directory:
Import-Module ActiveDirectory
قراءة أيضًا أداة تقرير تسجيل دخول وخروج مستخدمي Active Directory (مرشح متقدم)العثور على المستخدمين غير النشطين خلال فترة زمنية محددة
Get-ADUser -Identity username -Properties LastLogon | Select-Object -Property Name, LastLogon
للعثور على الحسابات التي لم يتم تسجيل الدخول إليها لمدة معينة من الأيام، مثل 90 يومًا، نستخدم أمر PowerShell الذي يقوم بتصفية حسابات المستخدمين استنادًا إلى سمة الـتسجيل الدخول الأخير الخاصة بهم. إليك مثال على الأمر:
Get-ADUser -Filter {Name -eq "username"} -Properties * |
Select-Object Name, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}
يبحث هذا الأمر عن الحسابات التي لم تكن نشطة لمدة 90 يومًا أو أكثر ويختار فقط تلك التي هي حسابات مستخدمين. ثم يعرض أسماء تلك الحسابات وقيمة سمة الـتسجيل الدخول الأخير الخاصة بهم، ممثلة الوقت الذي قام فيه المستخدم بتسجيل الدخول إلى النطاق.نقوم بضبط معلمة فترة الزمن للبحث عن الحسابات التي لم تكن نشطة لعدد مختلف من الأيام. على سبيل المثال، إذا أردنا البحث عن الحسابات التي لم تكن نشطة لمدة 60 يومًا، نعيد ضبط فترة الزمن إلى 60.00:00:00.يرجى ملاحظة أن AD يحدث سمة
اكتشف المستخدمين غير النشطين خلال فترة معينة من الأيام
للعثور على حسابات لم تسجل الدخول لفترة محددة من الأيام ، مثل 90 يومًا ، نستخدم أمر PowerShell يفلتر حسابات المستخدمين بناءً على سمة موقعهم الأخير على الشبكةLastLogonTimestamp. هذا مثال على الأمر:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | where {$_.ObjectClass -eq 'user'} | Select-Object Name, LastLogonTimestamp
يبحث هذا الأمر عن حسابات لم تكن نشطة لمدة 90 يومًا أو أكثر ويختار فقط تلك التي هي حسابات مستخدم. ثم يعرض أسماء تلك الحسابات المستخدم وقيمة سمة LastLogonTimestamp، والتي تمثل آخر مرة قام المستخدم بالدخول إلى المجال.
نقوم بتعديل المعلمة TimeSpan للبحث عن حسابات لم تكن نشطة لعدد مختلف من الأيام. على سبيل المثال ، إذا أردنا البحث عن حسابات لم تكن نشطة لمدة 60 يومًا ، نضبط TimeSpan على 60.00:00:00.
لاحظ أن الوصول إلى التحديثات المحدثة LastLogonTimestamp بعد تسجيل الدخول أو الخروج المستخدم من النظام، لذلك قد يكون القيمة غير دقيقة جزئيًا. أيضًا، يتم نشر هذا السمة في المجلدات الأساسية فقط كل 9-14 يومًا بشكل افتراضي، لذلك قد نحصل فقط على معلومات حديثة لبعض حسابات المستخدم.
تصدير إلى ملف CSV
لتصدير قائمة الحسابات غير النشطة إلى CSV، نقوم بتعديل أمر PowerShell المقدم سابقًا لتضمين Export-CSV cmdlet. هذا مثال على الأمر:
Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
where {$_.ObjectClass -eq 'user'} |
Select-Object Name, LastLogonTimestamp |
Export-CSV C:\InactiveUsers.csv -NoTypeInformation
هذا الأمر يبحث عن حسابات غير نشطة لمدة 90 يومًا أو أكثر ويختار فقط تلك التي هي حسابات مستخدم. ثم يحدد خصائص Name و LastLogonTimestamp لتلك الحسابات المستخدمة ويتم تصديرها إلى ملف CSV الموجود في “C:\InactiveUsers.csv”.
يحدد المعلمة “-NoTypeInformation” أن ملف CSV يجب أن لا يتضمن معلومات النوع .NET لكل كائن ، مما يجعل الملف أسهل قراءته. بعد تشغيل هذا الأمر ، نفتح ملف CSV باستخدام Excel أو أي تطبيق جدول بيانات آخر لعرض قائمة حسابات المستخدمين غير النشطة وأوقات تسجيل دخولهم الأخيرة.
شكرًا لقراءة المقالة كيفية العثور على وقت تسجيل دخول Active Directory للمستخدمين الأخير (باستخدام ADUC). سنختتمها الآن.
كيفية العثور على وقت تسجيل دخول Active Directory للمستخدمين الأخير (باستخدام ADUC) الاستنتاج
في الختام، إيجاد وقت تسجيل الدخول الأخير للمستخدم في الدليل النشط هو مهمة أساسية لمسؤولي النظام، حيث يتيح لهم تحديد حسابات المستخدمين غير النشطة التي يمكن تعطيلها أو إزالتها لتحسين الأمان وتقليل الفوضى في الدليل. نحقق ذلك باستخدام طرق مختلفة، بما في ذلك واجهة مستخدم Active Directory Users and Computers، استعلامات LDAP، وأوامر PowerShell المختلفة.
باستخدام الأدوات والتقنيات المناسبة، يمكن لمسؤولي النظام العثور بسرعة وسهولة على وقت تسجيل الدخول الأخير للمستخدم في الدليل النشط واتخاذ الإجراءات المناسبة لإدارة الدليل بفعالية.
Source:
https://infrasos.com/how-to-find-active-directory-users-last-logon-time-using-aduc/