รับรายการบัญชีผู้ใช้ที่หมดอายุใน AD โดยใช้ PowerShell
เผยแพร่ครั้งแรกเมื่อเดือนกรกฎาคม 2017 และอัปเดตเมื่อเดือนสิงหาคม 2019
วิธีรับรายการบัญชีผู้ใช้ที่หมดอายุด้วย PowerShell
งานที่สำคัญที่สุดอย่างหนึ่งที่ผู้ดูแลระบบ Active Directory ดำเนินการคือการตรวจสอบให้แน่ใจว่าบัญชีผู้ใช้ที่หมดอายุได้รับการรายงานในเวลาที่เหมาะสม และดำเนินการเพื่อลบหรือปิดใช้งานบัญชีเหล่านั้นทันที โปรดทราบว่าบัญชีผู้ใช้ที่คุณกำหนดวันหมดอายุจะถูกสร้างขึ้นชั่วคราวเท่านั้น ตัวอย่างเช่น คุณอาจสร้างบัญชีผู้ใช้หลายบัญชีเพื่ออนุญาตให้ผู้ขายเข้าสู่ระบบ Active Directory ในทำนองเดียวกัน คุณอาจสร้างบัญชีผู้ใช้สำหรับผู้รับเหมา หากคุณต้องการดูว่าบัญชีใดหมดอายุ ให้ดำเนินการคำสั่ง PowerShell ต่อไปนี้:
Search-ADAccount -Server $ThisDomain -Credential $Creds -AccountExpired -UsersOnly -ResultPageSize 2000 -resultSetSize $null| Select-Object Name, SamAccountName, DistinguishedNameสังเกตการใช้ Search-ADAccount PowerShell cmdlet อีกครั้ง แต่คราวนี้ใช้สวิตช์อื่น สวิตช์ที่เราใช้คือ บัญชีหมดอายุ ตามชื่อที่แนะนำ สวิตช์ บัญชีหมดอายุ ช่วยให้คุณรวบรวมบัญชีผู้ใช้ที่หมดอายุแล้ว
วิธีรับวันหมดอายุของบัญชีโดยใช้ PowerShell
หากต้องการรับวันหมดอายุของบัญชี AD สำหรับผู้ใช้ที่เปิดใช้งานทั้งหมดใน Active Directory ของคุณ คุณสามารถใช้ Get-ADUser cmdlet พร้อมคุณสมบัติ -AccountExpirationDate เรียกใช้สคริปต์ต่อไปนี้ใน PowerShell ISE บน Windows Server ของคุณ:
Get-ADUser -Filter 'enabled -eq $true' -Properties AccountExpirationDate | Select sAMAccountName, distinguishedName, AccountExpirationDateคุณจะได้รับวันและเวลาหมดอายุสำหรับรายชื่อผู้ใช้ AD ของคุณทั้งหมด
หากคุณต้องการข้อมูลสรุปสำหรับกลุ่มใดกลุ่มหนึ่ง คุณต้องแก้ไขสคริปต์โดยการเพิ่มพารามิเตอร์ -SearchBase คุณสามารถไปป์ข้อมูลไปยังไฟล์ .csv (เช่น เพื่อนำเข้าไปยัง Excel หรือเปิดในโปรแกรมแก้ไขข้อความ) โดยการเพิ่ม |export-csv
สมมติว่าเราจำเป็นต้องส่งออกรายการวันหมดอายุของบัญชีสำหรับหน่วยองค์กร "IT" ของโดเมน Enterprise.com นิพจน์ที่เราจะดำเนินการบน DC จะเป็นดังนี้:
Get-ADUser -Filter 'enabled -eq $true' -Searchbase "OU=IT,DC=enterprise,DC=com" -Properties AccountExpirationDate | Select SAMAccountName, distinguishedName, AccountExpirationDate |export-csv C:TempExpiryDate.csv -NoTypeInformationโดยสรุป ด้วยทักษะการเขียนสคริปต์ Microsoft Powershell ขั้นต่ำ Search-ADAccount รวมกับ Get-ADUser สามารถช่วยคุณแก้ปัญหาการล้างข้อมูลและการวิเคราะห์ AD เฉพาะกิจได้มากมาย
ต้องการสคริปต์ PowerShell เพิ่มเติมสำหรับ Active Directory หรือไม่ ค้นหาคำสั่ง PowerShell ที่เป็นที่ต้องการอันดับต้นๆ ทั้งหมดสำหรับ Active Directory ได้ในบล็อกโพสต์เดียว