我注意到 Active Directory 中的用户数量比公司实际拥有的员工数量还多。
有没有一种简单的方法可以检查多个 Active Directory 帐户并查看是否有任何帐户已经一段时间没有使用过?这应该可以帮助我确定是否应该禁用或删除某些帐户。
答案1
O'Reiley 的 Active Directory Cookbook 在第 6 章中给出了解释:
6.28.1 问题:您想确定哪些用户最近没有登录。
6.28.2 解决方案
6.28.2.1 使用图形用户界面
- 打开 Active Directory 用户和计算机管理单元。
- 在左侧窗格中,右键单击域并选择“查找”。
- 在“查找”旁边,选择“常见查询”。
- 选择自上次登录以来的天数旁边的天数。
- 单击立即查找按钮。
6.28.2.2 使用命令行界面
dsquery 用户 -inactive <NumWeeks>
要获取更多信息,请参阅食谱 6.28
答案2
该脚本源自http://synjunkie.blogspot.com/2008/08/powershell-finding-unused-ad-accounts.html;此 URL 自 2015 年 12 月 7 日起不再有效。您可以将此信息输出到 CSV 文件,然后在 Excel 中查看/过滤该文件。
get-qaduser * -sizelimit 0 | select -property name,accountexpires,pass*,accountisdisabled,lastlog*,canonicalname | export-csv -path d:\Passwords.csv
答案3
值得注意的是,每个域控制器上存储的上次登录时间不会在域控制器之间复制,实际上有两个属性存储上次登录时间,一个属性被复制,但每 14 次复制一次(我认为)。如果准确的时间对你来说很重要,我会使用查询每个域控制器(我们有 90 个!)的第三方工具,我们使用了一个名为真实的上次登录,我可以推荐它。
答案4
在您完成此过程时,请记录下来,包括您执行的步骤以及您禁用/删除的帐户。有时,审计员会询问您如何删除旧帐户,这时您需要记录下来。