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

PowerShell ตรวจสอบว่าบัญชีถูกล็อคหรือไม่ [3 วิธี]


ตรวจสอบว่าบัญชี AD ถูกล็อคหรือไม่

หากต้องการตรวจสอบว่าบัญชี AD ถูกล็อคหรือไม่ ให้ใช้ Get-ADUSer cmdlet และเลือกคุณสมบัติ LockedOut โดยใช้ Select-Object cmdlet
นี่คือรหัส:

ใช้ Get-WmiObject Cmdlet:

Get-ADUser DELL -Properties * | Select-Object LockedOut

เอาท์พุต :

Lockout
-------
False

แทนที่ DELL ด้วยชื่อผู้ใช้ที่คุณต้องการตรวจสอบว่าบัญชี AD ถูกล็อคหรือไม่

Get-ADUSer cmdlet ใช้เพื่อรับวัตถุผู้ใช้เฉพาะและ -Propeties เพื่อรับคุณสมบัติทั้งหมดของวัตถุผู้ใช้ ใช้ Select-Object cmdlet เพื่อเลือกคุณสมบัติ Lockedout จากคุณสมบัติทั้งหมด คุณสมบัตินี้จะบอกว่าบัญชีผู้ใช้ AD ถูกล็อคหรือไม่

ตรวจสอบว่าบัญชีผู้ใช้ภายในเครื่องถูกล็อคหรือไม่

ใช้ Get-WmiObject Cmdlet

ใช้ Get-WmiObject cmdlet เพื่อตรวจสอบว่าบัญชีผู้ใช้ถูกล็อคใน PowerShell หรือไม่

ใช้ Get-WmiObject Cmdlet:

Get-WmiObject -Class Win32_UserAccount -Filter "Name='DELL'" | Select-Object Lockout

เอาท์พุต :

Lockout
-------
False

ในตัวอย่างนี้ Get-WmiObject cmdlet ดึงข้อมูลการจัดการเกี่ยวกับคอมพิวเตอร์ Windows โดยใช้ระบบ WMI (Windows Management Instrumentation) ในที่นี้ พารามิเตอร์ -Class มีค่า Win32_UserAccount เพื่อระบุคลาส WMI (Windows Management Instrumentation) ที่มีข้อมูลบัญชีผู้ใช้ จากนั้น พารามิเตอร์ -Filter จะกรองชื่อผู้ใช้ของบัญชีผู้ใช้ที่เราต้องการดึงข้อมูล

หลังจากนั้น Select-Object cmdlet จะถูกใช้เพื่อเลือกคุณสมบัติ Lockout จากข้อมูลที่ดึงมา คุณสมบัตินี้ระบุว่าบัญชีถูกล็อคอยู่หรือไม่

แทนที่ DELL ด้วยชื่อผู้ใช้ที่อยู่ในระบบของคุณ

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

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

ใช้ Get-WmiObject Cmdlet เพื่อรับชื่อผู้ใช้:

Get-WmiObject -Class Win32_UserAccount | Select-Object Name

เอาท์พุต :

Name
----
Administrator
DefaultAccount
DELL
Guest
WDAGUtilityAccount

คุณสามารถสังเกตได้ว่ามีบัญชีผู้ใช้ 5 ในระบบของฉันซึ่งมีชื่อ Administrator, DefaultAccount, DELL ไปเรื่อยๆ

หากต้องการรับรายการบัญชีผู้ใช้ทั้งหมดบนคอมพิวเตอร์ภายในเครื่องหรือคอมพิวเตอร์ระยะไกลใน PowerShell คุณยังสามารถใช้ cmdlet Get-LocalUser ได้อีกด้วย

ลองใช้บัญชีผู้ใช้อื่นเพื่อตรวจสอบว่าถูกล็อคหรือไม่

ใช้ Get-WmiObject Cmdlet:

Get-WmiObject -Class Win32_UserAccount -Filter "Name='Guest'" | Select-Object Lockout

เอาท์พุต :

Lockout
-------
False

เราสามารถสังเกตได้ว่าผลลัพธ์ถูกส่งกลับเป็น False ซึ่งแสดงว่าบัญชีผู้ใช้ที่เชื่อมโยงกับชื่อผู้ใช้ Guest ไม่ได้ถูกล็อคเช่นกัน

ใช้ ผู้ใช้เน็ต Cmdlet

ใช้ ผู้ใช้เน็ต cmdlet เพื่อตรวจสอบว่าบัญชีผู้ใช้ถูกล็อคใน PowerShell หรือไม่

ใช้ Net User Cmdlet:

Net User 'DELL' | Select-String 'Account active'

เอาท์พุต :

Account active               Yes

ในโค้ดข้างต้น คำสั่ง Net User ใช้เพื่อดึงข้อมูลสถานะของบัญชีผู้ใช้ที่มีชื่อผู้ใช้ DELL ที่นี่ คำสั่ง Select-String จะกรองเอาต์พุตเพื่อแสดงเฉพาะบรรทัดที่มีสถานะบัญชี ตัวอย่างเช่น หากบัญชี ถูกล็อค ผลลัพธ์จะแสดง บัญชีที่ใช้งานอยู่ไม่มี ในที่นี้ ผลลัพธ์ที่ส่งคืนเป็น บัญชีที่ใช้งานอยู่ใช่ หมายความว่าบัญชีผู้ใช้ DELL ไม่ได้ถูกล็อค

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

ใช้ Net User Cmdlet:

Net User

เอาท์พุต :

User accounts for \\DESKTOP-B5****
-------------------------------------------------------------------------------
Administrator            DefaultAccount           DELL
Guest                    WDAGUtilityAccount
The command was completed successfully.

คุณสามารถดูรายการบัญชีผู้ใช้ทั้งหมดในระบบของฉันด้านบน

นั่นคือทั้งหมดที่เกี่ยวกับ PowerShell ตรวจสอบว่าบัญชีถูกล็อคหรือไม่

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