ค้นหาเว็บไซต์

วิธีค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานใน Active Directory


คุณรู้หรือไม่ว่าบัญชีผู้ใช้ที่ไม่ได้ใช้งานอาจนำไปสู่ความเสี่ยงด้านความปลอดภัยที่สำคัญได้

Center for Internet Security กล่าวว่า “ผู้คุกคามสามารถเข้าถึงข้อมูลประจำตัวผู้ใช้โดยไม่ได้รับอนุญาตได้ง่ายกว่าผ่านบัญชีแฮ็ค”

นี่เป็นเพียงเหตุผลหนึ่งว่าทำไมคุณควรค้นหา Active Directory เพื่อหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานและปิดการใช้งานตามกำหนดเวลาปกติ

ฉันคิดว่าคุณจะต้องประหลาดใจกับจำนวนบัญชีที่ไม่ได้ใช้งานและไม่มีการเคลื่อนไหวที่คุณจะพบ

ในคู่มือนี้ ฉันจะแสดงสองวิธีในการค้นหาบัญชีที่มีความเสี่ยงเหล่านี้

สารบัญ:

  • บัญชีผู้ใช้ที่ไม่ใช้งานถูกระบุอย่างไร?
  • เหตุใดคุณจึงควรลบบัญชีผู้ใช้ที่ไม่ได้ใช้งาน
  • แนวทางปฏิบัติที่ดีที่สุดในการลบบัญชีที่ไม่ได้ใช้งาน
  • ตัวอย่างที่ 1: ค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานด้วย PowerShell
  • ตัวอย่างที่ 2: ค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานด้วยเครื่องมือล้างข้อมูล AD (รวมทั้งค้นหาปิดใช้งาน หมดอายุ และไม่มีประวัติการเข้าสู่ระบบ)

บัญชีผู้ใช้ที่ไม่ใช้งานถูกระบุอย่างไร?

ส่วนนี้ยาวเล็กน้อย แต่จะอธิบายว่าแอตทริบิวต์ผู้ใช้ใดที่ใช้เพื่อค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งาน หากคุณไม่สนใจสิ่งนี้ ให้ข้ามไปที่ตัวอย่าง

บัญชีผู้ใช้มีแอตทริบิวต์ที่เรียกว่า "lastLogonTimeStamp" วัตถุประสงค์ของแอตทริบิวต์นี้คือการช่วยระบุผู้ใช้และบัญชีคอมพิวเตอร์ที่ไม่ได้ใช้งาน ใช่ มันสามารถใช้สำหรับบัญชีคอมพิวเตอร์ได้เช่นกัน

มีการเข้าสู่ระบบบางประเภทที่จะอัปเดตแอตทริบิวต์ LastLogonTimeStamp ได้แก่ การเข้าสู่ระบบแบบโต้ตอบ เครือข่าย และบริการ การเข้าสู่ระบบแบบโต้ตอบคือสิ่งที่เขาใส่ใจ นี่คือเมื่อมีคนเข้าสู่ระบบที่คอนโซล

มาดูคุณลักษณะนี้ใน ADUC GUI

เปิดบัญชี คลิกที่แท็บตัวแก้ไขแอตทริบิวต์ และลงไปที่แอตทริบิวต์ LastLogonTimestamp

ค่า LastLogon ใช้ทำอะไร?

คุณสามารถเห็นในภาพหน้าจอด้านบนว่ามีค่า LastLogon คุณจะเห็นสิ่งนี้เมื่อใช้ PowerShell ค่าlastLogonไม่ได้ถูกจำลองแบบไปยังตัวควบคุมโดเมนทั้งหมดที่มีlastLogonTimestamp นี่เป็นสิ่งสำคัญเนื่องจากด้วยแอตทริบิวต์ LastLogon คุณจะต้องสอบถามทุกตัวควบคุมโดเมนเพื่อดูว่าผู้ใช้เข้าสู่ระบบเมื่อใด Microsoft เข้าใจสิ่งนี้และนั่นคือสาเหตุที่พวกเขาแนะนำแอตทริบิวต์ LastLogonTimestamp ย้อนกลับไปในปี 2546

ในทางเทคนิคแล้ว คุณสามารถใช้ LastLogon เพื่อค้นหาบัญชีที่ไม่ได้ใช้งาน แต่จะยากกว่ามาก

ตอนนี้เรามาดูค่านี้ด้วย PowerShell

ด้วยเหตุผลบางประการ Microsoft เปลี่ยนชื่อค่านี้เป็น LastLogonDate ใน PowerShell

ทำไมฉันไม่รู้แต่มันก็มีค่าเท่ากัน หากคุณรู้ว่าเหตุใด Microsoft จึงเปลี่ยนชื่อเป็น PowerShell โปรดแสดงความคิดเห็นด้านล่าง

เปิด PowerShell และเรียกใช้คำสั่งนี้

get-aduser -identity username -properties *

นี่คือภาพหน้าจอของบัญชีเดียวกันในโดเมนของฉัน

คุณจะเห็นว่า LastLogonTimestamp และ LastLogonDate มีข้อมูลและเวลาเหมือนกัน

จำไว้แค่นี้.

PowerShell=LastLogonDate
ADUC GUI=LastLogonTimestamp

การใช้คุณลักษณะเหล่านี้ทำให้เราสามารถค้นหา Active Directory เพื่อหาบัญชีผู้ใช้ที่ไม่ได้ใช้งาน

หากคุณต้องการทราบเนื้อหาทางเทคนิคเนิร์ดๆ เกี่ยวกับแอตทริบิวต์ LastlogonTimestamp โปรดดูบทความนี้โดย Ned Pyle (พนักงาน Microsoft) - แอตทริบิวต์ LastLogonTimeStamp - แอตทริบิวต์นี้ออกแบบมาเพื่ออะไรและทำงานอย่างไร

ทำไมคุณควรลบบัญชีผู้ใช้ที่ไม่ได้ใช้งาน

ความปลอดภัยเป็นเหตุผลอันดับ 1 ในการล้างบัญชีผู้ใช้ที่ไม่ได้ใช้งาน นี่คือรายการทั้งหมด

  1. ความเสี่ยงด้านความปลอดภัย - การควบคุม CIS #5 กล่าวว่า “มีหลายวิธีในการเข้าถึงบัญชีผู้ใช้อย่างลับๆ รวมถึงรหัสผ่านที่ไม่รัดกุม บัญชียังคงใช้ได้หลังจากที่ผู้ใช้ออกจากองค์กร บัญชีทดสอบที่ไม่มีการเคลื่อนไหวหรือค้างอยู่ บัญชีที่ใช้ร่วมกัน ที่ไม่มีการเปลี่ยนแปลงเป็นเวลาหลายเดือนหรือหลายปี บัญชีบริการที่ฝังอยู่ในแอปพลิเคชันสำหรับสคริปต์” ฉันขอแนะนำให้คุณดาวน์โหลดตัวควบคุม CIS ซึ่งเป็นแหล่งข้อมูลที่ดีในการช่วยปกป้องและรักษาความปลอดภัยสภาพแวดล้อม
  2. ปัญหาสินค้าคงคลังและการติดตาม - Active Directory เป็นฐานข้อมูลแบบรวมศูนย์ คุณไม่เพียงแต่สามารถใช้เพื่อติดตามทรัพย์สินของคุณเท่านั้น แต่ยังสามารถรวมเข้ากับระบบอื่น ๆ เพื่อเป็นโซลูชันการจัดการสินทรัพย์ที่สมบูรณ์ หากคุณไม่ล้างเนื้อหาโฆษณาของคุณ ระบบสินค้าคงคลังของคุณจะไม่ถูกต้อง
  3. ความง่ายในการจัดการ - ค่อนข้างจะเหมือนกับ #2 สภาพแวดล้อม AD ที่ยุ่งเหยิงนำไปสู่สภาพแวดล้อมที่ยากและเครียดในการจัดการ ลองนึกถึงการเรียกใช้สคริปต์ PowerShell หรือพยายามปรับใช้ซอฟต์แวร์กับคอมพิวเตอร์หรือผู้ใช้หลายร้อยเครื่อง คุณจะได้รับข้อผิดพลาดส่งคืนจำนวนมากเมื่อพยายามจัดการสภาพแวดล้อมด้วยบัญชีเก่าและไม่ได้ใช้งาน
  4. ความสมบูรณ์ถูกต้องของข้อมูล - สิ่งเหล่านี้ส่วนใหญ่มีสิ่งเดียวกัน นั่นคือความสมบูรณ์ของข้อมูล Again AD เป็นฐานข้อมูลแบบรวมศูนย์และสามารถรวมเข้ากับหลายระบบได้ หากข้อมูลใน AD ไม่ถูกต้อง ระบบทั้งหมดที่เชื่อมต่อกับ AD จะไม่ถูกต้อง
  5. การออกใบอนุญาต - นี่คือตัวอย่างในโลกแห่งความเป็นจริง บัญชีผู้ใช้ AD ของคุณซิงค์กับระบบของบุคคลที่สาม เช่น McAfee Mcafee เรียกเก็บเงินคุณตามบัญชีผู้ใช้ หากคุณมีบัญชีที่ไม่ได้ใช้งานหลายร้อยบัญชีที่ซิงค์กับผลิตภัณฑ์ของบุคคลที่สาม คุณอาจต้องชำระค่าลิขสิทธิ์เพิ่มเติมจำนวนมากที่คุณไม่ต้องการ นี่เป็นกรณีเมื่อทำการซิงค์ AD กับผลิตภัณฑ์คลาวด์ด้วย

แนวทางปฏิบัติที่ดีที่สุดในการลบบัญชีผู้ใช้ที่ไม่ได้ใช้งาน

ต่อไปนี้เป็นแนวทางปฏิบัติที่ดีที่สุดในการล้างข้อมูลผู้ใช้หรือบัญชีคอมพิวเตอร์ที่ไม่ได้ใช้งาน

  • อย่าลบบัญชีที่ถูกระบุว่าไม่ได้ใช้งานทันที ปิดการใช้งานก่อนเป็นเวลาอย่างน้อย 30 วัน (ยิ่งนานยิ่งดี)
  • ค้นหาบัญชีที่มี LastLogonTimestamp ที่มีอายุ 45 วันขึ้นไป หมายความว่าบัญชี AD จะไม่แสดงกิจกรรมการเข้าสู่ระบบเป็นเวลา 45 วันหรือนานกว่านั้น
  • ปิดการใช้งานบัญชีเป็นเวลาอย่างน้อย 30 วัน โดยปกติฉันจะเลือก 60 วัน ด้วยการเข้าถึงระยะไกล VPN และแล็ปท็อป บางครั้ง AD ก็ไม่ได้รับการอัปเดต การปิดใช้งานบัญชีก่อนจะเป็นเรื่องง่ายมากที่จะเปิดใช้งานอีกครั้งและให้สิทธิ์การเข้าถึงแก่ผู้ใช้อีกครั้ง
  • เพิ่มคำอธิบายให้กับบัญชีโดยปิดการใช้งานวันที่และชื่อย่อของคุณ สิ่งนี้มีประโยชน์มากสำหรับผู้ดูแลระบบคนอื่นๆ ในกรณีที่มีคนถามว่าทำไมบัญชีจึงถูกปิดใช้งาน
  • บัญชีในสถานที่ที่ไม่ได้ใช้งานอาจไม่ได้หมายถึงบัญชี Office 365 ที่ไม่ได้ใช้งาน นี่จะเป็นสำหรับสภาพแวดล้อมไฮบริดที่ซิงค์กับ Office 365 การปิดใช้งานบัญชีและการลบทันทีถือเป็นสิ่งสำคัญสำหรับสภาพแวดล้อมประเภทนี้ คุณอาจมีผู้ใช้ที่ทำงานจากที่บ้านซึ่งไม่เคยตรวจสอบสิทธิ์กับสภาพแวดล้อม AD on prem แต่เข้าสู่ระบบ office 365 ทุกวัน
  • เรียกใช้กระบวนการล้างข้อมูลทุกเดือน

ตัวอย่างที่ 1: ค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานด้วย PowerShell

หากต้องการค้นหาบัญชีที่ไม่ได้ใช้งานด้วย PowerShell คุณจะต้องติดตั้งเครื่องมือ RSAT หรือเรียกใช้คำสั่งเหล่านี้บนตัวควบคุมโดเมน

ตัวอย่างทั้งหมดเหล่านี้ใช้แอตทริบิวต์ LastLogonDate ที่ฉันกล่าวถึงในส่วนแรกของบทความนี้

ค้นหาบัญชีที่ไม่ได้ใช้งานในช่วง 60 วันที่ผ่านมา


$When = ((Get-Date).AddDays(-60)).Date
Get-ADUser -Filter {LastLogonDate -lt $When} -Properties * | select-object samaccountname,givenname,surname,LastLogonDate

ค้นหาบัญชีที่ไม่ได้ใช้งานในช่วง 30 วันที่ผ่านมา


$When = ((Get-Date).AddDays(-30)).Date
Get-ADUser -Filter {LastLogonDate -lt $When} -Properties * | select-object samaccountname,givenname,surname,LastLogonDate

นี่คือตัวอย่างจากโดเมนของฉัน

คุณสามารถส่งออกผลลัพธ์เป็น CSV ได้โดยการเพิ่ม | ส่งออก-csv -เส้นทาง c:\ps\inactiveusers.csv

$When = ((Get-Date).AddDays(-30)).Date
Get-ADUser -Filter {LastLogonDate -lt $When} -Properties * | select-object samaccountname,givenname,surname,LastLogonDate | export-csv -path c:\ps\inactiveusers.csv

หากต้องการจำกัดขอบเขตให้กับหน่วยองค์กร ให้ใช้พารามิเตอร์ SearchBase พร้อมด้วยชื่อที่แตกต่างของ OU

$When = ((Get-Date).AddDays(-30)).Date
Get-ADUser -Filter {LastLogonDate -lt $When} -SearchBase "OU=Accounting,OU=ADPRO Users,DC=ad,DC=activedirectorypro,DC=com" -Properties * | select-object samaccountname,givenname,surname,LastLogonDate

ค้นหาผู้ใช้ที่ไม่ได้ใช้งานและปิดการใช้งานบัญชี

$When = ((Get-Date).AddDays(-30)).Date
Get-ADUser -Filter {LastLogonDate -lt $When} -Properties * | select-object samaccountname,givenname,surname,LastLogonDate | Disable-ADAccount

ในตัวอย่างข้างต้น ฉันเพิ่ม | ปิดการใช้งาน ADAccount ในตอนท้ายเพื่อปิดการใช้งานบัญชีที่ไม่ได้ใช้งานทั้งหมด

คุณยังสามารถใช้คำสั่งเหล่านี้เพื่อค้นหาบัญชีคอมพิวเตอร์ เพียงเปลี่ยน Get-ADUser เป็น Get-ADComputer

อย่างที่คุณเห็น การระบุบัญชีผู้ใช้ที่ไม่ได้ใช้งานด้วย PowerShell เป็นเรื่องง่ายโดยการกรอง LastLogonDate ของผู้ใช้ หากคุณชื่นชอบ PowerShell คุณสามารถสร้างเครื่องมือที่ทรงพลังมากสำหรับการล้าง AD ได้

หากคุณไม่ได้สนใจ PowerShell หรือเพียงต้องการเครื่องมือ GUI ธรรมดา ลองดูตัวอย่างที่ 2

ตัวอย่างที่ 2: ค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานด้วยเครื่องมือ AD Cleanup

เครื่องมือล้างข้อมูลโฆษณาทำให้การค้นหาบัญชีผู้ใช้ที่ไม่ได้ใช้งานเป็นเรื่องง่ายมาก เครื่องมือนี้ยังสามารถใช้เพื่อค้นหาคอมพิวเตอร์ที่ไม่ได้ใช้งานใน Active Directory ฉันยังเพิ่มตัวกรองเพื่อค้นหาผู้ใช้ที่หมดอายุ ปิดการใช้งาน และผู้ใช้ที่ไม่มีประวัติการเข้าสู่ระบบอย่างรวดเร็ว บัญชีเหล่านี้มักถูกลืมซึ่งควรเป็นส่วนหนึ่งของกระบวนการล้างข้อมูลด้วย

ลองดูตัวอย่าง

หากต้องการค้นหาบัญชีที่ไม่ได้ใช้งานทั้งหมดในช่วง 30 วันที่ผ่านมา เพียงป้อน 30 ในตัวเลือกการค้นหาแล้วคลิกเรียกใช้ คุณสามารถป้อนหมายเลขใดก็ได้ลงในช่องตัวเลือกการค้นหา

ตามค่าเริ่มต้น เครื่องมือนี้จะแสดงทั้งผู้ใช้ที่ไม่ได้ใช้งานและคอมพิวเตอร์ หากต้องการดูเฉพาะบัญชีผู้ใช้ ให้ยกเลิกการเลือก "แสดงคอมพิวเตอร์" จากเมนูแบบเลื่อนลงตัวกรอง

นี่เป็นการค้นหาทั้งโดเมน

คุณสามารถจำกัดการค้นหาโดยเลือก OU หรือกลุ่ม ตัวอย่างเช่น ฉันต้องการตรวจสอบบัญชีที่ไม่ได้ใช้งานในกลุ่มความปลอดภัยทางบัญชีทั้งหมดของฉัน ฉันคลิกเรียกดู และตอนนี้ฉันสามารถเลือกกลุ่มทั้งหมดหรือ OU ใดก็ได้

หากต้องการปิดใช้งานหรือย้ายบัญชี ให้เลือกบัญชีเหล่านั้นแล้วคลิกปุ่มดำเนินการ

ฉันจะย้ายบัญชีเหล่านี้ไปยัง OU ที่ไม่ได้ใช้งานที่ฉันสร้างขึ้น ฉันคลิกปุ่มย้ายแล้วเลือก OU

ตอนนี้ฉันจะตรวจสอบ ADUC เพื่อยืนยันว่าบัญชีถูกย้ายแล้ว สิ่งนี้ทำให้ง่ายต่อการดูบัญชีทั้งหมดที่ฉันกำลังจะปิดการใช้งานเนื่องจากบัญชีเหล่านั้นถูกระบุว่าไม่ได้ใช้งาน

หากคุณต้องการค้นหาบัญชีผู้ใช้ที่ถูกปิดใช้งานทั้งหมด เพียงแค่ดรอปรายการตัวกรองและเลือกผู้ใช้ที่ถูกปิดใช้งาน

ในภาพหน้าจอด้านบน คุณยังสามารถแสดงบัญชีผู้ใช้และผู้ใช้ที่หมดอายุทั้งหมดโดยไม่มีประวัติการเข้าสู่ระบบได้อย่างรวดเร็ว เพียงเลือกบัญชีเหล่านั้นในตัวกรอง จากนั้น คุณสามารถดำเนินการกับบัญชีเหล่านี้ได้โดยการย้ายหรือปิดการใช้งาน

เครื่องมือนี้มีตัวเลือกมากมายและอินเทอร์เฟซที่ใช้งานง่ายช่วยให้คุณประหยัดเวลาอันมีค่าเมื่อต้องทำความสะอาดสภาพแวดล้อม AD ของคุณ

สรุป

ฉันแสดงให้คุณเห็นสองตัวอย่างสำหรับการค้นหาและลบบัญชีผู้ใช้ที่ไม่ได้ใช้งานใน Active Directory ฉันขอแนะนำให้คุณเพิ่มสิ่งนี้ลงในรายการตรวจสอบการบำรุงรักษารายเดือนของคุณ ความปลอดภัยเป็นปัญหาใหญ่สำหรับ Active Directory แต่อย่างที่ฉันชี้ให้เห็นว่ามีสาเหตุหลายประการว่าทำไมสิ่งนี้จึงเป็นงานที่สำคัญ PowerShell เป็นตัวเลือกที่ยอดเยี่ยมสำหรับการค้นหาบัญชีที่ไม่ได้ใช้งาน แต่ต้องใช้ความรู้ด้านการเขียนสคริปต์ สำหรับผู้ที่ไม่ชอบการเขียนสคริปต์หรือเพียงต้องการวิธีแก้ปัญหาที่รวดเร็วและง่ายดาย เรามีเครื่องมือ AD Cleanup GUI

บทความที่เกี่ยวข้อง