我正在准备一个审计,并试图通过PowerShell,我是一个菜鸟,以获得我们的数据。我使用Search-ADAccount
命令列出我们的过期AD用户,我现在必须显示过期的用户在过去12个月内活跃
我知道我可以使用过滤器开关与Get-ADUser
,但似乎不能让它与Search-ADAccount
工作。
#Expired users
$Filename = "BJL Expired Users.csv"
Search-ADAccount -UsersOnly -AccountExpired -filter {WhenChanged -ge '${StartDate} '} –ResultSetSize $null | Select-Object Name, SamAccountName, DistinguishedName, mail, lastlogondate,Enabled,lockedOut,whenChanged,AccountExpirationDate,UserAccountControl,whenCreated| Export-CSV -path "$($ExportPath)$($Filename)" –NoTypeInformation|out-gridview -title "Expired Accounts"
字符串Search-ADAccount
中不存在-filter
交换机如何使用Search-ADAccount
执行此操作
参考https://shellgeek.com/powershell-search-adaccount-cmdlet-examples/How to find users who were disabled specific dates
1条答案
按热度按时间kx5bkwkv1#
正如你已经说过的,
Search-ADAccount
没有-Filter
参数,在这种情况下,你需要使用Get-ADUser
并自己构造过滤器。此示例使用LDAP筛选器查找
whenChanged
属性大于或等于1年前且accountExpires
属性小于现在(UTC)的用户,这意味着帐户已过期。为了更好地理解LDAP语法,您可以检查Active Directory: LDAP Syntax Filters。字符串