使用Search-ADAccount

时间:2019-06-17 08:11:05

标签: powershell

我正在尝试使用Search-ADAccount cmdlet在AD中进行搜索,以查找已启用但最近90天内未登录的帐户。以下命令可在过去90天内未登录的域中找到足够的已启用AD帐户。但是,我试图过滤掉“ DistinguishedName”字段中包含“服务帐户”文本的所有条目。

Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 |
    Select-Object -Property Name, Enabled, LastLogonDate, DistinguishedName |
    Where-Object {
        $_.Enabled -like 'True' -and
        $_.DistinguishName -notmatch "Service Account"
    }

上面的命令似乎可以很好地找到启用的帐户和上次登录。但是,PowerShell忽略了我在-notmatch "..."中输入的任何文本? 还尝试了-notLike,我也得到了相同的行为。

1 个答案:

答案 0 :(得分:0)

感谢boxdog注意到DisinguishedNameWhere-Object的拼写错误,缺少了“ ed”。这样可以解决此问题,并结合您对丢失的*Service Account*通配符的其他评论。

更新的PowerShell命令:

 Search-ADAccount -AccountInactive -TimeSpan 90.00:00:00 | 
   Where-Object {
      $_.Enabled -like 'True' -and 
      $_.DistinguishedName -NotLike "*Service Account*"
   } | 
   Select-Object -Property Name,Enabled,LastLogonDate,DistinguishedName