In Powershell, I'm trying to list all Active Directory user accounts that are enabled and their passwords have not expired.
I get the same results whether I select 'True' or 'False' in the below commands:
Search for False:
get-aduser -filter * -properties * -ResultSetSize 10 | where { $_.PasswordExpired -eq "False" } | select-object displayname, emailaddress, passwordexpired | Sort-Object displayname
|displayname|emailaddress|passwordexpired|
|-----------|------------|---------------|
|user1||True|
|user2|user1@somedomain.com|True|
|user3|user2@somedomain.com|True|
|user4|user3@somedomain.com|True|
|user5|user4@somedomain.com|True|
Search for True:
get-aduser -filter * -properties * -ResultSetSize 10 | where { $_.PasswordExpired -eq "True" } | select-object displayname, emailaddress, passwordexpired | Sort-Object displayname
|displayname|emailaddress|passwordexpired|
|-----------|------------|---------------|
|user1||True|
|user2|user1@somedomain.com|True|
|user3|user2@somedomain.com|True|
|user4|user3@somedomain.com|True|
|user5|user4@somedomain.com|True|
Another variation I tried:
get-aduser -filter { enabled -eq $true } -properties * -resultsetsize 10 | where {$_.PasswordExpired -eq "False"} | select-object displayname, emailaddress, passwordexpired | Sort-Object displayname
|displayname|emailaddress|passwordexpired|
|-----------|------------|---------------|
|user1||True|
|user2|user1@somedomain.com|True|
|user3|user2@somedomain.com|True|
|user4|user3@somedomain.com|True|
|user5|user4@somedomain.com|True|
How do I get a list of enabled users that do not have expired passwords?