我们在Active Directory中有大约9400个用户对象。我们正在努力想出一个PowerShell脚本来清除去年没有登录帐户的用户帐户。
在这个特定的OU中,我们有494个禁用用户。我创建了此脚本来搜索并输出已禁用的用户数。运行它会得到10
的输出。
通过并手动检查一些用户我可以看到有超过10个用户在一年内没有登录。为什么这不算数呢?
Import-Module ActiveDirectory
$DaysInactive = 365
$InactiveDate = (Get-Date).AddDays(-($DaysInactive))
$Users =Get-ADUser -SearchScope OneLevel -SearchBase "ou=staff,ou=disabled,dc=VALPARAISO,dc=LOCAL" -Filter "LastLogonDate -lt '$InactiveDate'"
Write-Output $Users.Count;
答案 0 :(得分:3)
我不会使用Get-ADUser
。 Search-ADAccount
已经做到了:
$DaysInactive = New-TimeSpan -Days 365
$Users = Search-ADAccount -AccountInactive -TimeSpan $DaysInactive -UsersOnly -SearchBase 'ou=staff,ou=disabled,dc=VALPARAISO,dc=LOCAL'
$Users.Count