none
PowerShell中使用get-aduser --properties * -filter如何添加多个属性过滤条件 RRS feed

  • 问题

  • 我在PowerShell中执行下面的命令,PasswordExpired -eq "False"这个过滤条件没有生效啊,输出的samaccountname中也包含PasswordExpired为True的用户,请帮忙排查一下问题在哪里

    Get-ADUser -Properties *  -Filter {PasswordNeverExpires -eq "False" -and PasswordExpired -eq "False"}|where {$_.passwordlastset -lt (Get-Date).AddDays(-290)} | select samaccountname

    2020年12月25日 9:19

答案

  • 你好,

    请尝试下面的语句:

    Get-Aduser -filter {enabled -eq $true -or enabled -eq $false} -Properties * | where {$_.PasswordExpired -eq $true}| select samaccountname

    • 已标记为答案 申健伟 2020年12月28日 3:19
    2020年12月28日 2:24
    版主

全部回复

  • 改成:

    Get-ADUser -Properties *  -Filter {PasswordNeverExpires -eq $False -and PasswordExpired -eq $False}|where {$_.passwordlastset -lt (Get-Date).AddDays(-290)} | select samaccountname

    试试

    2020年12月25日 9:24
  • 结果还是一样的

    Get-ADUser -Properties *  -Filter "PasswordNeverExpires -eq 'False' -and PasswordExpired -eq 'False'"|where {$_.passwordlastset -lt (Get-Date).AddDays(-290)} | select samaccountname

    换了这种方式,结果也一样

    如果改成PasswordExpired -eq 'True'",那么就不会输出任何samaccountname


    2020年12月25日 9:30
  • 我单独执行了以下命令:

    Get-ADUser -Properties * -Filter {PasswordExpired -eq "True"}|select samaccountname

    发现不会输出任何samaccountname

    如果改成False,那么就会输出所有samaccountname

    是不是PasswordExpired这个属性的识别有些问题呢?

    2020年12月25日 9:42
  • 你好,

    请尝试下面的语句:

    Get-Aduser -filter {enabled -eq $true -or enabled -eq $false} -Properties * | where {$_.PasswordExpired -eq $true}| select samaccountname

    • 已标记为答案 申健伟 2020年12月28日 3:19
    2020年12月28日 2:24
    版主