CodeSOD:一种奇特的排序” 笔记

CodeSOD:一种奇特的排序”

该脚本旨在报告所有 Active Directory 用户及其最后登录时间,但采用了低效且复杂的实现方式。它通过遍历字母表中的每个字母来筛选用户账户,这并不能保证完全按字母顺序排序。对于每个字母,脚本创建一个新的 DirectorySearcher 对象,显式仅请求"name"属性,然后查找所有匹配的账户。随后,对于每个检索到的名称,脚本又创建另一个 DirectorySearcher。该新搜索器用于查询特定用户账户以获取其所有属性。尽管用户名搜索预期仅返回一个结果,但仍使用 FindAll() 方法,返回一个数组。这导致需要不必要的循环来遍历单个元素的数组。最后,脚本输出用户名称与最后登录时间,并用逗号连接。由于脚本设计中存在重复的搜索器实例化、冗余查询以及不合逻辑的筛选方法,其整体设计极为低效。尽管存在这些缺陷,该脚本能够生成供管理层使用的 CSV 文件,因此在组织内被视为“关键任务”。