Dsquery รับการเข้าสู่ระบบครั้งล่าสุดของผู้ใช้
เครื่องมือบรรทัดคำสั่ง dsquery ใช้เพื่อค้นหาออบเจ็กต์ในไดเร็กทอรีที่ใช้งานอยู่ตามเกณฑ์การค้นหาที่ระบุโดยใช้แบบสอบถาม LDAP
ใช้ dsquery พร้อมพารามิเตอร์ตัวกรองเพื่อให้ผู้ใช้เข้าสู่ระบบคอมพิวเตอร์ครั้งล่าสุดในไดเรกทอรีที่ใช้งานอยู่
การประทับเวลา Lastlogon คือเวลาที่ผู้ใช้เข้าสู่ระบบโดเมนครั้งล่าสุด ค่าการประทับเวลาการเข้าสู่ระบบครั้งล่าสุดของผู้ใช้จะถูกจัดเก็บเป็นจำนวนเต็มขนาดใหญ่ในตัวควบคุมโดเมน (DC) ค่าการประทับเวลาวันที่นี้แสดงถึงจำนวนช่วงเวลา 100 นาโนวินาทีตั้งแต่วันที่ 1 มกราคม 1601 (UTC)
ใช้เคียวรี LDAP ในรูปแบบตัวกรองการค้นหา LDAP เพื่อระบุพารามิเตอร์ -filter เพื่อดึงข้อมูลผู้ใช้ Lastlogon และ Lastlogontimestamp
ในบทช่วยสอนนี้ เราจะได้เรียนรู้วิธีใช้ dsquery เพื่อให้ผู้ใช้เข้าสู่ระบบครั้งสุดท้ายและประทับเวลาครั้งสุดท้ายใน PowerShell
การใช้ dsquery เพื่อรับการเข้าสู่ระบบครั้งล่าสุดของผู้ใช้
ใช้เครื่องมือบรรทัดคำสั่ง dsquery เพื่อค้นหาออบเจ็กต์และแอตทริบิวต์ เช่น Lastlogon และ Lastlogontimestamp ในไดเรกทอรีที่ใช้งานอยู่ตามเกณฑ์การค้นหา
dsquery * -filter "samaccountname=admin" -attr samaccountname lastlogonในการสืบค้นข้างต้น เพื่อให้ผู้ใช้เข้าสู่ระบบครั้งล่าสุดไปยังคอมพิวเตอร์ เราได้ระบุเกณฑ์การค้นหาในพารามิเตอร์ตัวกรองเป็น "samaccountname=admin"
การใช้คำสั่ง dsquery * จะค้นหาผู้ใช้ Lastlogon และใช้พารามิเตอร์ -attr เพื่อแสดงชื่อแอ็ตทริบิวต์ โดยจะแสดงแอ็ตทริบิวต์ samaccountname และ user Lastlogon
ผลลัพธ์ของ dsquery ข้างต้นเพื่อรับการเข้าสู่ระบบครั้งสุดท้ายของผู้ใช้คือ:
เมื่อผู้ใช้เข้าสู่ระบบโดเมน ระบบจะเก็บค่า Lastlogon ไว้เป็นจำนวนเต็มขนาดใหญ่และไม่ได้อยู่ในรูปแบบที่มนุษย์สามารถอ่านได้
ในการแปลง Lastlogon เป็นวันที่ เราได้ใช้เครื่องมือ w32tm.exe ด้วย /ntte ซึ่งจะแปลงเวลา Network Time Protocol (NTP) ให้เป็นรูปแบบที่อ่านได้
เคล็ดลับเด็ด: ความแตกต่างระหว่าง Lastlogon และ Lastlogontimestamp ใน Active Directory!
ค้นหาผู้ใช้ Lastlogontimestamp โดยใช้ dsquery
ตัวควบคุมโดเมน (DC) ตรวจสอบค่าแอตทริบิวต์ Lastlogontimestamp ของผู้ใช้เมื่อผู้ใช้เข้าสู่ระบบโดเมน ค่า LastLogonTimestamp ถูกจำลองแบบ โดยค่าเริ่มต้นถ้าค่าเป็น 14 วันหรือเก่ากว่าค่าก่อนหน้า
การใช้เครื่องมือบรรทัดคำสั่ง dsquery ทำให้เราสามารถดึงข้อมูลแอตทริบิวต์ Lastlogontimestamp ของผู้ใช้ได้
dsquery * -filter "samaccountname=admin" -attr samaccountname lastlogon lastlogontimestamp
ในสคริปต์ PowerShell ข้างต้น dsquery ใช้พารามิเตอร์ตัวกรองเพื่อระบุเกณฑ์การค้นหาเพื่อค้นหาผู้ใช้และรับรายการแอตทริบิวต์ เช่น samaccountname, Lastlogon และ user Lastlogontimestamp
ผลลัพธ์ของแบบสอบถามด้านบนเพื่อค้นหาผู้ใช้ Lastlogontimestamp โดยใช้ dsquery คือ:
PS C:\Windows\system32> dsquery * -filter "samaccountname=admin" -attr samaccountname lastlogon lastlogontimestamp
samaccountname lastlogon lastlogontimestamp
admin 132970610281096251 132968489843663168ใช้เครื่องมือบรรทัดคำสั่ง w32tm.exe พร้อมด้วยพารามิเตอร์ /ntte เพื่อแปลงผู้ใช้ Lastlogontimestamp เป็น DateTime (รูปแบบที่มนุษย์สามารถอ่านได้)
PS C:\Windows\system32> w32tm.exe /ntte 132970610281096251
153901 04:03:48.1096251 - 5/15/2022 4:03:48 AM
PS C:\Windows\system32> w32tm.exe /ntte 132968489843663168
153898 17:09:44.3663168 - 5/12/2022 5:09:44 PMบทสรุป
ฉันหวังว่าบทความข้างต้นเกี่ยวกับวิธีใช้ dsquery เพื่อรับผู้ใช้ Lastlogon และผู้ใช้ Lastlogontimestamp จะเป็นประโยชน์กับคุณ
ใช้เครื่องมือบรรทัดคำสั่ง w32tm.exe /ntte เพื่อแปลง Lastlogon และ Lastlogontimestamp เป็นรูปแบบวันที่ (รูปแบบที่มนุษย์สามารถอ่านได้)
คุณสามารถดูหัวข้อเพิ่มเติมเกี่ยวกับคำสั่ง PowerShell Active Directory และข้อมูลพื้นฐานของ PowerShell ได้ในหน้าแรกของ ShellGeek
