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

[玩转系统] PowerShell:导出 Active Directory 组成员

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

PowerShell:导出 Active Directory 组成员


在本指南中,您将学习如何使用 PowerShell 获取 AD 组成员并将其导出到 CSV 文件。

作为管理员,您经常需要从 Active Directory 获取组和组成员的列表。这可能会被要求作为安全审核、权限审查或导出和导入其他系统的一部分。

问题是…

内置的 Active Directory 用户和计算机控制台无法获取所有组成员并将其导出。

为此,我们可以使用 PowerShell Get-ADGroupMember cmdlet。作为 PowerShell 的替代方案,我还将向您展示如何使用 AD Pro Toolkit 创建组报告。

让我们开始吧。

如何使用 PowerShell 将组成员导出到 CSV

在第一个示例中,我将向您展示如何使用 Get-ADGroupMember PowerShell cmdlet 导出 Active Directory 组成员。

第 1 步:加载 Active Directory 模块

要使用 PowerShell 连接和查询 AD 组,需要加载 Active Directory 模块。

Active Directory模块可以通过以下方法安装:

  • 安装 RSAT 工具
  • 具有 AD DS 或 AD LDS 服务器角色的 Windows Server 2008 R2 及更高版本

您可以运行以下命令来查看是否已经安装

Get-Module -ListAvailable

[玩转系统] PowerShell:导出 Active Directory 组成员

如您所见,我没有安装该模块。

如果您已经加载了该模块,则跳至步骤 2,如果没有,则按照以下说明进行操作。

要在我的 Windows 10 PC 上安装 Active Directory 模块,我需要下载并安装 RSAT 工具。

安装 RSAT 工具后,我再次运行 Get-Module -ListAvailable 命令

[玩转系统] PowerShell:导出 Active Directory 组成员

现在我已经安装了模块,让我们继续第 2 步。

相关:有关如何安装 PowerShell 模块的教程

第2步:找到AD组

如果您已经知道组的名称,请跳至步骤 3。

如果您不确定组名称是什么,可以发出以下命令来列出所有 Active Directory 组。

Get-ADGroup -filter * | sort name | select name

[玩转系统] PowerShell:导出 Active Directory 组成员

上面是我的域中列出的一些组的屏幕截图。我有一个人力资源小组,但不确定其完整名称,我可以看到它是人力资源小组。我将在步骤 3 中使用该组来列出成员。

步骤 3:使用 Get-AdGroupMember 列出组成员

以下命令将列出我的 HR Full 组的所有成员

Get-ADGroupMember -identity "HR Full"

[玩转系统] PowerShell:导出 Active Directory 组成员

您可以看到上面的命令提供了比我需要的更多有关组成员的详细信息。

我们可以过滤掉结果并使用此命令获取成员名称

Get-ADGroupMember -identity "HR Full" | select name

[玩转系统] PowerShell:导出 Active Directory 组成员

完美,现在我只需要将其导出为 CSV。

相关:如何从 Active Directory 导出所有用户

步骤 4:将群组成员导出到 CSV 文件

最后一步是将结果导出到 CSV 文件

这是通过将 Export-csv 添加到上述命令中来完成的。完整的命令如下所示

Get-ADGroupMember -identity "HR Full" | select name | Export-csv -path c:\it\filename.csv -Notypeinformation

获取 ADGroupMember -身份“HR Full” |选择姓名 | Export-csv -path C:\it\filename.csv -NoTypeInformation

现在我有一个包含 HR Full Active Directory 组中所有成员的 CSV 文件。

很容易吧?

方法 2:使用 AD Pro Toolkit 导出 AD 组成员

在此示例中,我将使用 AD Pro Toolkit 中的 AD 组成员报告工具来获取 AD 组成员。使用此工具可以非常轻松地从单个组或所有域组获取 AD 组成员身份。请参阅以下步骤。

第 1 步:下载 AD 组成员 GUI 工具

单击此处下载免费试用版

该工具非常容易安装,可以安装在工作站或服务器上。

步骤2:点击群组报告

在工具列表中选择组报告。

[玩转系统] PowerShell:导出 Active Directory 组成员

第三步:选择路径并点击运行

您可以选择从整个域中获取组成员、选择 OU 或组或在域中搜索特定组。

对于本示例,我将选择整个域。

现在单击运行按钮生成报告。

[玩转系统] PowerShell:导出 Active Directory 组成员

您现在将拥有所有 Active Directory 组和成员的列表。

sAMAccountName 列是用户或组帐户,memberOf 列是其所属的组。

[玩转系统] PowerShell:导出 Active Directory 组成员

步骤 4:将 AD 组成员导出到 CSV

要导出报告,请单击导出按钮并选择 CSV、XLSX 或 PDF。

[玩转系统] PowerShell:导出 Active Directory 组成员

下面的屏幕截图是 CSV 导出示例。

[玩转系统] PowerShell:导出 Active Directory 组成员

仅列出安全组成员

使用 GUI 工具,您可以轻松过滤任何列。在此示例中,我将筛选组类型以仅列出安全组和成员。

单击“groupType”列并选择“安全性”。

[玩转系统] PowerShell:导出 Active Directory 组成员

现在该工具将仅显示安全组和组成员。

[玩转系统] PowerShell:导出 Active Directory 组成员

获取递归 AD 组成员资格

默认情况下,GUI 工具将获取递归组成员身份。这意味着如果一个组是另一个组的成员,它也会列出嵌套组的成员资格。

要查看哪些组是另一个组的成员,请按组过滤对象类列。

下面您可以看到“Accounting_Local”组是“Accounting_printers”组的成员。 “HR_Local”组是“IT_Local”组的成员。

[玩转系统] PowerShell:导出 Active Directory 组成员

在组成员报告中包含其他用户属性(属性)

要添加其他用户属性,请单击列按钮并添加或删除所需的属性。

[玩转系统] PowerShell:导出 Active Directory 组成员

现在重新运行报告,它将显示您选择的用户属性。

从组织单位获取 AD 组成员

在最后一个示例中,我将从 OU 中的组而不是整个域中获取组成员。

选择 OU 或组并单击浏览按钮。

[玩转系统] PowerShell:导出 Active Directory 组成员

接下来,选择 OU。您可以选择多个 OU 或组。我已经选择了我的 HR OU。

[玩转系统] PowerShell:导出 Active Directory 组成员

运行报告,它将列出您选择的组和成员,在我的例子中,它将列出 HR OU 中的所有组。

[玩转系统] PowerShell:导出 Active Directory 组成员

群组成员资格报告工具可以节省大量时间,并且可以轻松报告和导出群组成员资格。单击此处下载免费试用版。

相关内容

  • Active Directory 组管理工具
  • 如何将 AD 用户导出到 CSV 文件
  • Active Directory 登录时间报告

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

取消回复欢迎 发表评论:

关灯