我正在尝试使用Search-ADAccount cmdlet搜索AD,以查找已启用但在过去90天内未登录的帐户。以下命令可以在过去90天内未登录的域中找到已启用的AD帐户。但是,我正在尝试过滤掉"DistinguishedName“字段中包含"Service Account”文本的所有条目。
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"
}上面的命令似乎可以很好地查找已启用的帐户和上次登录。然而,我在-notmatch "..."中输入的任何文本似乎都会被PowerShell忽略?我也尝试了-notLike,我也得到了相同的行为。
发布于 2019-06-18 09:42:22
感谢boxdog注意到Where-Object中缺少"ed“的DisinguishedName拼写错误。这个问题与你的其他关于缺少*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,DistinguishedNamehttps://stackoverflow.com/questions/56627248
复制相似问题