列出并比较活动目录中的对象

列出并比较活动目录中的对象

我必须清理 AD 中的计算机对象,由于所有计算机名称都包含用户名(如 pcuser1、nbuser2 等),我正在尝试找出如何生成完整的 AD 用户列表,然后将其与完整的计算机名称列表进行比较。我们的用户对象是一致的,因此如果计算机对象与用户不相符,此比较会告诉我。

我该如何处理?我不是脚本专家,但我认为一些 vbs 或 powershell 可以解决问题。我不太喜欢比较部分。

一些伪代码可能是:

get all usernames from AD > text1
get all computernames from AD > text2
traverse text1
   traverse text2
   if text1.line# is contained in text2.line# then
      text1.line# and text2.line# > output.txt

答案1

我不会编写自己的脚本来执行此操作。首先,您编写的伪代码将是 On-squared。有很多可用的工具可以组合起来以实现您想要的效果。

使用 ldifde、csvde 或 dsquery 等工具导出您关心的元素。根据您的 Windows 版本,这些元素可能包含在内,或者您可能需要下载资源工具包或支持工具。您可以使用 Excel 或文本编辑器进行进一步处理,以使源文件看起来正确,对它们进行排序等。

然后,使用 WinDiff 或其他 GUI(或文本模式,如果您喜欢)之类的工具来比较它们。

但是,重新阅读您的问题,您可以像大多数其他管理员一样,导出超过 x 天不活动的计算机帐户,然后将其删除。

相关内容