从 CSV 文件禁用用户
您还可以禁用逗号 (.csv) 文本文件中列出的所有 Active Directory 用户帐户。该文件必须包含一个标头,然后包含一个用户名列表,每行一个。我的CSV文件只有一列(标题为“名称”),所以我的逗号分隔文件没有逗号!如果 CSV 文件包含多个列,则脚本将忽略这些额外的列。
如:

首先将 CSV 文件的内容作为对象 ($users) 导入,然后使用ForEach循环禁用文本文件每一行上的用户。下面是 PowerShell 脚本:
180天非活动用户,这里-TimeSpan可以手动指定日期
$timespan = New-Timespan -Days 180
Search-ADAccount -UsersOnly -AccountInactive -TimeSpan $timespan | Select-Object UserPrincipalName ,Name | Export-Csv -Path C:\InactiveUser.csv -Encoding UTF8 -NoTypeInformation
$users=Import-CSV c:\InactiveUser.csv
ForEach ($User01 in $users) { Disable-ADAccount -Identity $($user.name)
Get-ADUser -Identity $User01.Name | foreach {Move-ADObject -Identity $_.ObjectGuid -TargetPath ‘OU=DisableUsers,OU=2024年,OU=离职员工,DC=abc,DC=com’ }
}
若要检查结果,请使用搜索 ADAccountcmdlet:Search-ADAccount -AccountDisabled -UsersOnly | Select-Object Name, SamAccountName
值得注意的是,由于 Active Directory 同步LastLogOnDate属性的方式,在使用Search-ADAccountcmdlet 指定 –AccountInactive参数时返回的结果可能不准确多达 9-14 天