如何在 Active Directory 中查找服务帐户
在本教程中,我将向您展示如何在 Active Directory 中查找服务帐户。此外,我将向您展示如何查找域中使用服务帐户的位置。
通常,服务或计划任务配置为以本地系统帐户运行。但有时域用户或本地帐户被配置为作为服务运行。
问题是没有简单的方法来跟踪服务帐户的使用位置。
好消息是,我创建了一个易于使用的工具,可以扫描您的系统并查找所有服务帐户。我还将向您展示一些用于查找服务帐户的 PowerShell 命令。
目录:
- 使用 GUI 工具查找服务帐户的使用位置
- 使用 PowerShell 查找服务帐户
- 列出 Active Directory 中的所有服务帐户
要求
- 需要允许目标计算机上的 WMI 入站。
- AD Pro 工具包 - 您可以在此处下载免费试用版
- PowerShell 5.1 或更高版本
视频教程
在下面的视频中,我演示了如何通过 AD Pro Toolkit 和 PowerShell 查找服务帐户的使用位置。
使用 GUI 工具查找服务帐户的使用位置
如果您不记录您的服务帐户,那么您最终可能会在各种服务器甚至计算机系统上运行它们。这种情况非常难以管理,并且可能会成为安全问题。
唯一的解决方案是扫描所有系统并查找哪些系统具有用于运行服务的帐户。为了简化这一过程,您可以使用服务帐户报告工具。
步骤 1. 打开服务帐户报告工具
单击此处下载免费试用版
步骤 2. 扫描计算机中的服务帐户
选择扫描所有计算机或选择 OU 或特定计算机。
在此示例中,我将扫描域中的所有计算机。如果您不想包含计划任务,请取消选中“包含计划任务”框。单击“运行”按钮开始扫描。
扫描完成后,您将获得系统上运行的所有服务、状态以及服务运行帐户的列表。
步骤 3. 筛选服务帐户报告
要查找特定的服务帐户,您可以过滤报告或单击搜索图标。首先,我将单击 RunningAs 列并筛选报告,我正在查找 runningAs 的域用户帐户。
您可以在上面的屏幕截图中看到,当我过滤结果时,我发现有两个域帐户用作服务帐户,一个位于 PC3 上,另一个位于 SRV-VM1 上。
另一种选择是使用搜索图标。例如,我将输入我的域名,希望它能找到所有域帐户。
惊人的!该工具很快找到了两个设置为运行 Windows 服务的域用户帐户。
如何搜索特定的服务帐号?
如果您想扫描计算机中的特定服务帐户,请使用查找运行方式的服务选项。
在此示例中,我将扫描所有计算机以查找服务帐户“adam.reed”。
很不错!当您知道服务帐户的名称时,此选项非常有效。不幸的是,情况并非总是如此。
使用 PowerShell 查找服务帐户
下面是一个简单的 PowerShell 命令,用于在单个计算机上查找服务帐户。
get-wmiobject win32_service -comp pc3 | Group Startname -NoElement此命令将按起始名称对服务进行分组,我认为它可以更轻松地阅读和了解哪些帐户正在运行该服务。
如果您不想对结果进行分组,请使用此命令。
get-wmiobject win32_service -comp pc3 | select name, status, startname要搜索特定帐户,请使用此命令。我正在对作为域用户运行的服务帐户进行通配符搜索。
get-wmiobject win32_service -comp pc3 -filter "startname like '%activedirectory%'" | select name, status, startname列出 Active Directory 中的所有服务帐户
在本教程中,我将服务帐户称为普通域用户帐户。在这种情况下,没有简单的方法来列出所有服务帐户,除非您已记录或实现了它们的命名约定。
以下是 Microsoft 关于本地服务帐户的说法。
我们建议您为用作服务帐户的所有帐户添加前缀,例如“svc-”。此命名约定将使帐户更易于查找和管理。还可以考虑使用服务帐户和服务帐户所有者的描述属性。描述可以是团队别名或安全团队所有者。
https://learn.microsoft.com/en-us/azure/active-directory/fundamentals/service-accounts-on-premises#find-on-premises-service-accounts
除了添加前缀之外,我还会为服务帐户创建一个 OU。您可能拥有无法添加前缀的现有服务帐户,因此通过将它们全部放入 OU 中,您可以轻松列出 Active Directory 中的所有服务帐户。
列出所有服务帐户的另一个选项是检查本地策略设置。当帐户配置为作为服务运行时,该帐户将被授予作为服务登录的权限。
您需要在每个系统上打开本地组策略并检查用户权限分配。
计算机配置 -> Windows 设置 -> 安全设置 -> 本地策略 -> 用户权限分配 -> 作为服务登录。
您可以在上面看到,我有两个域帐户已被授予作为服务登录的权限。不幸的是,没有简单的方法可以在所有计算机上查询此信息。使用服务帐户报告工具或PowerShell查询所有计算机会更容易。
结论
在本教程中,我向您展示了两种查找服务帐户的使用位置的方法。通过使用 PowerShell,您可以轻松列出一台计算机上的所有服务帐户,但对于多台计算机来说这是一个挑战。为了轻松扫描所有计算机,我建议使用 AD Pro Toolkit 中的服务帐户报告工具。此 GUI 工具可让您查询所有计算机的域服务帐户、筛选结果并将帐户导出到 CSV 文件。
相关文章
- PowerShell 列出计划任务
- 保护本地服务帐户的安全
查找所有服务帐户
使用 AD PRO 工具包











