技术文章

Technical articles

当前位置:首页>资讯>技术文章
全部 公司动态 行业动态 技术文章

如何使用 PowerShell 导出 AD 组成员

文章标签:   编辑:admin   来源:本站  时间:2023-05-16

如果您以管理员或技术人员的身份在 Active Directory 中工作,那么有一天您可能需要导出 Active Directory 中的组成员。有时请求来自 HR,或者您可能只需要此信息进行报告。


如果您仔细研究,就会发现在 Active Directory 中没有用于导出组成员的 GUI。别担心,我们已经为您准备好了。


在本文中,我们将介绍如何使用一些简单但功能强大的 PowerShell 命令导出 AD 组成员。


启动 PowerShell

大多数服务器都已经安装了 PowerShell。我们可以通过按Windows 键 +R并在“运行”框中键入不带引号的“ powershell ”并按回车键来启动 PowerShell。


如果该命令不起作用,您可能没有安装 PowerShell 模块。如果是这种情况,您可以从Microsoft 的 GitHub 帐户下载并安装 PowerShell,以便为您的环境安装 PowerShell 模块。


或者,您可以通过执行以下操作直接从服务器管理器安装 PowerShell作为角色:


打开服务器管理器,然后单击添加角色和功能。



单击下一步,直到您看到功能部分。


单击远程服务器管理工具选项卡 ->角色管理工具-> AD DS 和 AD LDS 工具。


为Windows PowerShell启用Active Directory 模块。


接下来单击“安装”按钮开始安装 PowerShell。


查找 Active Directory 组名

接下来,您需要查找并列出 Active Directory 中的所有组。这有助于您准确了解您的组的名称,以便我们稍后在 PowerShell 命令中引用它进行导出。


运行以下命令以列出服务器上的所有 Active Directory 组:


get-adgroup -filter * | sort name | select Name


您应该会看到不同用户组的列表。请记住,其中许多组已内置到 Active Directory 中,因此您可能需要进行一些搜索才能找到您的组。一旦您确定了您想要的一个或多个组的名称,请继续。


接下来,我们将使用以下命令以及组名来查看该组内的所有成员。


Get-AdGroupMember -identity "Your Group"


下面应列出该组的所有成员的姓名。您可以在任何组上使用它,并且始终可以使用该get-adgroup -filter * | sort name | select Name命令列出所有组。


如何使用 PowerShell 导出 AD 组成员


 


在这里您还可以看到每个用户的 SID、可分辨名称、对象类、GUID 和 SAM 帐户名。


如果您不需要这些附加信息,您可以使用以下命令来过滤您的结果并只输出它们的名称:


Get-AdGroupMember -identity "Your Group" | select name


从 PowerShell 将 AD 组成员导出到 CSV

您可能希望将其转换为 CSV 格式以对其进行清理、将其存储在服务器上或通过电子邮件发送给其他员工。要将结果保存为 CSV,请使用以下命令:


Get-AdGroupMember -identity "Your Group" | select name | Export-csv -path C:\groupmembers.csv -NoTypeInformation


 微信截图_20230516095234.jpg


如何使用 PowerShell 导出 AD 组成员


上述命令从“您的组”AD 组中获取成员,并将这些成员导出到位于 C 驱动器根目录下的名为 groupmembers.csv 的 CSV 文件中。


其他有用的命令

要在更大的 Active Directory 环境中进一步过滤,您可以使用额外的过滤器来查找可能放错位置或未放入正确组中的某些类型的帐户。例如,具有不在传统管理员组中的管理权限的帐户。


下面的命令使用 GroupCategory 参数来限制仅作为安全组返回的组类型。这对于您可能无法 100% 确定要在哪个组中寻找成员的较大环境很有用。


Get-ADGroup -Filter 'GroupCategory -eq "Security"'


如果您有嵌套组,您可能会发现结果显示的是嵌套组,而不是这些组内的成员。要解决此问题,我们需要添加-recursive参数以枚举所有成员并将它们添加到列表中。


你的命令看起来像:


Get-ADGroupMember -identity “Your Group” -recursive | select name | Export-csv -path C:\groupmembers.csv -NoTypeInformation


最后一个有用的提示是,如果您保存这些命令,您始终可以创建一个 PowerShell 脚本以从计划任务运行,以每月、每季度或任何您需要的方式自动运行。您甚至可以将导出路径设置为其他人也可以访问 CSV 的网络驱动器。


结论

如果您知道如何使用 PowerShell,那么它是一个出色的工具,有时它是完成这项工作的唯一工具。如果您了解 PowerShell,您可以比单独通过 GUI 更快地完成 AD 中的任务。


或者,可以在 AD 中管理用户的一个很棒的免费工具是 SolarWinds 的 Admin Bundle。这个方便的工具可以构建网络地图,帮助管理非活动帐户,并生成简单的报告,就像我们在 PowerShell 中所做的一样


本文链接:  www.jswdpc.com/technical/282.html

上一篇:Wi-Fi无线网与以太网有线网:您应该使用哪个,

下一篇:邮箱黑名单:如何查看邮件IP是否被列入黑名单,及如何删除

在线咨询

点击这里给我发消息 售前咨询专员

点击这里给我发消息 售后服务专员

在线咨询

免费通话

24小时免费咨询

请输入您的联系电话,座机请加区号

免费通话

微信扫一扫

微信联系
返回顶部