Powershell不计算Active Directory中的所有用户

时间:2018-02-07 19:55:50

标签: powershell

我们在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;

1 个答案:

答案 0 :(得分:3)

我不会使用Get-ADUserSearch-ADAccount已经做到了:

$DaysInactive = New-TimeSpan -Days 365
$Users = Search-ADAccount -AccountInactive -TimeSpan $DaysInactive -UsersOnly -SearchBase 'ou=staff,ou=disabled,dc=VALPARAISO,dc=LOCAL'
$Users.Count