当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

作者:精品下载站 日期:2024-12-14 17:33:44 浏览:13 分类:玩电脑

如何在 Active Directory 中查找并删除旧计算机帐户


在本指南中,我将向您展示如何在 Active Directory 中查找不活动的计算机。

不活动的计算机可能会导致严重问题,例如报告不准确、组策略缓慢、软件分发、软件更新问题和安全问题。

在大中型企业中,您可能会惊讶地发现 Active Directory 中有多少不活动的计算机。

在下面的示例中,我将演示 3 种不同的 Active Directory 工具,您可以使用它们来查找和删除旧计算机帐户。

视频教程

在本视频中,我演示了如何使用 AD Pro Toolkit 和 PowerShell 查找不活动的计算机。

首先,您需要了解这些方法(工具)是如何工作的。有两个属性可用于查找旧计算机帐户,它们是:

  1. lastLogonTimestamp:Active Directory 计算机有一个名为lastLogonTimestamp 的属性。 Microsoft 创建此属性是为了帮助识别不活动的计算机和用户帐户。它用于确定用户或计算机最近是否登录到域。
  2. 计算机密码期限:就像用户帐户一样,计算机也有密码。这些每 30 天自动更改一次。如果计算机不再活动,密码将不会更新,这可用于查找旧的和不活动的计算机。

本教程中使用的工具将查询上次登录时间或计算机密码期限,以确定计算机是否处于非活动状态。

警告:其中一些方法可能非常危险。

我不会立即删除这些工具报告的计算机帐户。我的建议是使用这些工具查找陈旧的计算机,将其禁用 x 天,然后删除它们。您可能有移动用户、VPN 用户和在家工作的用户。这些计算机帐户可能不会更新lastLogonTimestamp,因为它们已脱离网络。禁用帐户更安全,如果它们仍然处于活动状态,那么您只需重新启用它们即可。

使用 AD 清理工具查找 Active Directory 中不活动的计算机

我创建了 Active Directory 清理工具来简化在 Active Directory 中查找和删除旧计算机帐户的过程。除了清理旧的计算机帐户外,它还可以查找不活动的用户、禁用的帐户、没有登录历史记录的过期帐户用户以及空组。

该工具使用lastlogontimestamp属性来查找旧计算机,您可以将不活动状态更改为任意天数。

在此示例中,我将查找已闲置 30 天的计算机。

步骤1.下载AD清理工具

您可以下载该工具的免费试用版并在您的网络上进行测试。

单击此处下载免费试用版

步骤 2. 输入计算机不活动时间

打开该工具并输入不活动天数(内无登录)。在本例中,我将在 30 天后输入。接下来,单击运行按钮。

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

您可以选择搜索整个域或特定的 OU 或组。

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

默认情况下,该工具将查找不活动的用户和计算机。您可以在上面看到我只有一个计算机帐户处于非活动状态 30 天,但有很多非活动用户。

如果您想搜索计算机,只需选择过滤器按钮并取消选中用户。

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

步骤 3. 将不活动的计算机移至另一个 OU

此步骤是可选的,但我喜欢将非活动帐户移动到另一个 OU,然后禁用它们。您可以通过选择帐户并单击移动按钮来批量移动帐户。

系统将提示您选择要将帐户移入的 OU。

当您单击“移动”按钮时,系统将提示您确认操作。

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

此外,您还可以单击“禁用”按钮来禁用所选帐户。还可以对结果进行过滤、搜索排序并导出为 CSV 或 PDF。

如果您想通过上次设置的密码属性查找不活动的计算机或用户,请单击列按钮并添加“pwdLastSet”属性。

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

除了最后登录时间戳之外,还会显示帐户上次更改密码的时间。这是可选的,它只是为您提供了更多方法来识别不活动的计算机和用户帐户。

其他 AD 清理工具功能:

  • 查找所有没有登录历史记录的计算机
  • 查找所有禁用的计算机
  • 查找所有禁用的用户帐户
  • 查找所有过期的用户帐户
  • 查找所有空组
  • 在结果中添加或删除其他用户/计算机字段

这就是方法 1 的内容。

AD 清理工具包含免费试用版,因此您可以在 AD 环境中试用它。

使用 Oldcmp 命令行工具查找不活动的计算机

Oldcmp 是一个命令行工具,专门用于清理旧计算机帐户。该工具不检查上次登录时间,而是检查计算机的密码期限。默认情况下,它会检查 90 天,但这可以更改。

该工具有许多保护措施来防止您破坏 Active Directory。它是一个非常强大的工具,有很多选项,使其成为自动化整个清理过程的绝佳选择。这是一个旧工具,但仍然可以在新的域控制器上运行,我已经在 2016 DC 上对其进行了测试。

一些内置的保护措施:

  • 您只能删除已禁用的计算机帐户
  • 默认情况下,它一次只会修改 10 个帐户,如果您想要更多,则必须指定数量。
  • 您必须包含 FORREAL 选项才能真正进行更改
  • 它不会修改域控制器帐户

就像我说的,许多保障措施都已到位,这是一件好事……相信我。

让我们通过几个例子来看看如何使用这个工具。

下载并设置

您可以从下面的链接下载oldcmp。

http://www.joeware.net/freetools/tools/oldcmp/index.htm

解压 zip 文件并将 oldcmp.exe 放在易于从命令行访问的位置。

我把我的放在c:\it\oldcmp\oldcmp.exe。

要运行这些命令,请打开命令提示符并更改到 exe 所在的目录。

示例1

oldcmp-报告

这将生成 90 天或更早计算机的 HTML 报告。

示例2

oldcmp-forreal-不安全

此示例将查找帐户并禁用它们。

示例3

oldcmp-删除-仅禁用-不安全-forreal

此命令将查找并删除超过 90 天的帐户。

这里有所有命令行选项的更多示例和文档。

http://www.joeware.net/freetools/tools/oldcmp/usage.htm

这就是方法 2 的内容。

使用 PowerShell 查找旧计算机帐户

最后一种方法使用 Powershell 搜索上次设置的密码属性,您需要加载 PowerShell Active Directory 模块才能使其工作。

步骤 1:使用 Get-ADComputer cmdlet

下面的命令将按上次设置日期的名称和密码显示所有计算机。

get-adcomputer -filter * -properties passwordlastset | select name, passwordlastset | sort passwordlastset

我可以看到下面有几台电脑已经很长时间没有重置了。

[玩转系统] 如何在 Active Directory 中查找并删除旧计算机帐户

该命令的唯一问题是它将显示域中的所有计算机。

我只关心过去 90 天内没有重置的计算机,有几种方法可以解决这个问题。

步骤 2. 将结果导出到 CSV

要将报告导出到 CSV 文件,请将 export-csv 和路径添加到命令末尾。

get-adcomputer -filter * -properties passwordlastset | select name, passwordlastset | sort passwordlastset | export-csv c:\it\oldcmp\oldexport.csv

现在我可以在 Excel 中打开结果并轻松删除我不需要的内容。

步骤 3. 添加日期变量以过滤掉计算机

另一种选择是创建一个有助于过滤结果的变量。为此,我将使用 get-date cmdlet 创建一个变量,将日期设置为 90 天前。

这是创建变量的命令,-90 将其设置为 90 天前。您可以将其更改为您喜欢的任何日期。

$date = (get-date).adddays(-90)

接下来,我在原始命令中包含日期变量以及小于 (-lt) 参数。

get-adcomputer -filter {passwordlastset -lt $date} -properties passwordlastset | select name, passwordlastset | sort passwordlastset

现在,它将仅显示超过 90 天的计算机帐户。

这就是方法 3 的内容。

希望本教程对您有所帮助。

如果您有疑问或遇到任何问题,请在下面发表评论。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯