Inactive AD accounts
Jump to navigation
Jump to search
Get inactive accounts
# Import the Active Directory module Import-Module ActiveDirectory # Define the OU path $ouPath = "OU=Example Foo Accounts,DC=example,DC=com" # Define the date thresholds $PasswordLastSetDateThreshold = Get-Date -Date "July 11, 2023" $logonDateThreshold = Get-Date -Date "July 11, 2023" # Get all user accounts in the specified OU that haven't had their passwords reset since the date threshold, # whose SamAccountName starts with "svc-", have logged in after the logon date threshold, and are active $usersNoPasswordReset = Get-ADUser -Filter { PasswordLastSet -gt $PasswordLastSetDateThreshold -and SamAccountName -like "svc-*" -and LastLogonDate -lt $logonDateThreshold -and Enabled -eq $true } -SearchBase $ouPath -Properties PasswordLastSet, LastLogonDate, Enabled | Select-Object Name, SamAccountName, PasswordLastSet, LastLogonDate, Enabled # Output the list of users $usersNoPasswordReset | Format-Table -AutoSize