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

[玩转系统] Get-AdGroupMember - 将 AD 组成员导出到 CSV

作者:精品下载站 日期:2024-12-14 17:01:27 浏览:15 分类:玩电脑

Get-AdGroupMember - 将 AD 组成员导出到 CSV


Get-AdGroupMember PowerShell cmdlet 获取 AD 组成员,成员可以是用户、计算机或组。管理员经常需要将 Active Directory 组成员导出到 CSV 文件,以了解组或特定通讯组列表中的用户。

Windows PowerShell Active Directory 模块是管理 Active Directory 域、管理 Active Directory 中的对象以及获取有关计算机和用户的信息的流行模块之一。

Active Directory 模块整合了一组 cmdlet,有助于管理不同的对象、获取 AD 组成员和导出 Active Directory 组成员。

使用 Get-AdGroupMember cmdlet,您可以轻松地从 Active Directory 获取广告组成员,并将广告组成员导出到 CSV 或文件。

在本文中,我们将讨论 Get-ADGroupMember 示例、如何使用 cmdlet 在 PowerShell 中列出组成员,以及如何获取广告组成员以及如何将广告组成员导出到 CSV 文件。

入门

要使用 Active Directory cmdlet,您的系统需要满足以下要求

  1. 要安装的 PowerShell Active Directory 模块
  2. 具有管理员权限或有足够权限读取 AD 组信息的用户

提示:要了解系统中哪些模块可用,请在 PowerShell ISE 中运行以下命令

Get-Module -ListAvailable

获取 ADGroupMember

PowerShell Get-ADGroupMember cmdlet 获取广告组成员。广告组成员可以是用户、计算机或组。

Get-AdGroupMember 语法

Get-ADGroupMember
   [-AuthType <ADAuthType>]
   [-Credential <PSCredential>]
   [-Identity] <ADGroup>
   [-Partition <String>]
   [-Recursive]
   [-Server <String>]
   [<CommonParameters>]

让我们了解一下 Get-ADGroupMember cmdlet 关键参数,如下所示:

-AuthType - 它指定要使用的身份验证方法。 AuthType 参数接受 Basic(或 1)或 Negotiate(或 0)。它具有协商默认身份验证方法。

使用基本身份验证方法需要 SSL(安全套接字层)连接。

-凭据 PSCredential - 它指定执行组的 Get-ADGroup 搜索所需的用户凭据。它默认接受登录用户的凭据。

要使用 Credential 参数,请将用户名用作 User1 或 domain\User1,或者您可以通过使用 Get-Credential cmdlet 创建并使用 PSCredential 对象。

-Identity - 它使用专有名称、GUID、安全标识符或 SAMAccountName 指定 Active Directory 组对象搜索

-Partition - 它指定活动目录分区的可分辨名称。

-递归 - 它指定从不包含子对象的组中获取所有广告组成员。

Get-ADGroupMember 示例

让我们了解如何使用 Get-AdGroupMember 列出广告组成员并将广告组成员导出到 CSV 文件。

通过 SAM 帐户名获取 AD 组

Get-ADGroup -Identity Administrators

在上述 PowerShell 脚本中,Get-AdGroup cmdlet 用于检索有关由 Identity 参数指定的 Active Directory 组“Administrators” 的信息。

此命令返回管理员广告组的 SAM 帐户名称。

获取 AdGroup 组成员

在 PowerShell 中使用 Get-ADGroupMember cmdlet 获取 AD 组所有成员的列表。成员可以是用户、组或计算机。

在 PowerShell 中,要列出特定组的广告组成员,请使用 Identity 参数。您可以通过显示名称、SAM 帐户名称、GUID、可分辨名称或安全标识符来识别 Active Directory 组。

Get-AdGroupMember -Identity "Group Name"

获取广告组成员

使用 PowerShell 中的 Get-AdGroupMember cmdlet 获取管理员广告组中所有成员的列表,然后运行以下脚本。

Get-AdGroupMember -Identity 'Administrators'

在上面的 PowerShell 脚本中,Get-AdGroupMember 获取由 Identity 参数指定的 AD 组的所有成员的列表。

如果您只想获取成员名称,请使用“选择”命令选择广告组成员名称。

Get-AdGroupMember -Identity 'Administrators' | Select name

上述用于获取 Active Directory 组成员名称的 PowerShell 脚本的输出为:

[玩转系统] Get-AdGroupMember - 将 AD 组成员导出到 CSV

获取 AD 组成员 导出到 CSV 文件

PowerShell Get-AdGroupMember cmdlet 获取广告组成员列表。

要获取广告组成员并将 AD 组成员列表导出到 CSV 文件,请使用以下命令

Get-AdGroupMember -Identity 'Administrators' | Export-csv -Path D:\Powershell\adgroupmemers.csv  -NoTypeInformation

在上述 PowerShell 脚本中,Get-AdGroupMember 命令获取由 Identity 参数指定的Administrators 广告组的组成员。

它获取“管理员”活动目录群组的所有成员,并使用 Export-CSV 将广告组的群组成员导出到 CSV 文件。

[玩转系统] Get-AdGroupMember - 将 AD 组成员导出到 CSV

将广告组成员电子邮件地址导出到 Csv

使用 Get-AdGroupMember 获取广告组成员电子邮件地址并将组成员导出到 CSV 文件,运行以下脚本。

Get-AdGroupMember -Identity 'SalesLeader' | Get-AdUser -Properties * | Select Name,Mail | Export-csv -Path D:\Powershell\adgroupmembers.csv  -NoTypeInformation

在上面的 PowerShell 脚本中,Get-AdGroupMember cmdlet 获取广告组成员,并将输出传递到 Get-AdUser cmdlet,以获取广告组成员属性(例如姓名和电子邮件地址),并将输出传递到第三个命令。

使用 PowerShell 中的 Export-Csv cmdlet,它将广告组成员电子邮件地址导出到 CSV 文件。

酷提示:如何在 PowerShell 中获取广告组成员计数!

从特定组织单位导出广告组成员

Active Directory 中的组织单位包含用户、计算机和组对象。使用 Get-AdGroupMember 列出广告组成员并将组成员导出到 CSV 文件。

要将广告组成员从特定组织单位导出到包含组名称和广告用户名的 CSV 文件,请运行以下 PowerShell 脚本

$OU = 'OU=SALES,DC=SHELLPRO,DC=LOCAL'
# Get adgroups from specific OU
$adGroups =  Get-ADGroup -Filter * -SearchBase $OU

# Iterate through adgroups and get ad group name and user name
$adGroupMembers = foreach ($Group in $adGroups) {
    Get-ADGroupMember -Identity $Group -Recursive | Select-Object @{Name='Group';Expression={$Group.Name}}, @{Name='Member';Expression={$_.Name}}
}
# export ad group name and user to csv file
$adGroupMembers | Export-Csv -Path D:\adGroupMembers.csv -NoTypeInformation

在上面的 PowerShell 脚本中,

在第一个命令中,我们定义组织单位 (OU) 路径

使用 Get-AdGroup cmdlet,它可以从特定的 OU 获取广告组。

在下一个命令中,它使用 foreach 递归地迭代广告组,以获取属于特定 OU 中的广告组的广告组成员、组名称和用户名。

使用 PowerShell 中的 Export-Csv cmdlet,它将广告组的成员从特定 OU 导出到 CSV 文件。

酷提示:如何在 PowerShell 中获取 adgroupmember samaccountname!

获取广告组的成员,包括子组的成员

默认情况下,Get-AdGroupMember 获取 Active Directory 组中所有成员的列表。使用recursive参数来获取组和子组的成员。

让我们考虑一下 Sales 组是否包含用户 John Tigre 和组 EUSalesLeader。

EUSalesLeader 广告组包含用户 Smith Waugh。

Get-AdGroupMemberRecursive 参数结合使用来获取 John Tigre 和 Smith Waugh

Get-ADGroupMember -Identity "Sales" -Recursive

上述 PowerShell 脚本使用 Get-AdGroupMember 命令,使用 Identity 参数获取销售广告组的所有成员,包括使用 Recursive 参数的子组成员。

Get-ADGroupMember 常见问题解答

术语“Get-ADGroupMember”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

为了解决上述问题,系统必须具有Active Directory模块。您可以使用 Get-Module -ListAvailable

检查模块是否可用

如果 Active Directory 模块不可用,则使用 import-module activedirectory 导入它

请访问 http://technet.microsoft.com/en-us/library/dd378937.aspx 检查 Active Directory 模块要求

如何解决 Get-ADGroupMember:超出此请求的大小限制?

如果您尝试列出数千个群组成员,则可能会遇到此请求的大小限制超出了 Get-AdGroupMember 的问题。

默认情况下,限制为 5000 个对象。此限制来自 Active Directory Web 服务,适用于三个 cmdletGet-ADGroupMember、Get-ADPrincipalGroupMembership 和 Get-ADAccountAuthorizationGroup

您可以在配置文件中修改它。您必须确保更新每个 DC 上的配置文件。

在域控制器上,打开位于 C:\Windows\ADWS\Microsoft.ActiveDirectory.WebServices.exe.config 的文件并查找 appSettings 标记,添加以下标记
15000" />

保存配置文件并重新启动 ADWS 服务 在 DC 上。在每个 DC 上重复上述步骤。

如何显示 Get-AdGroupMember 电子邮件地址和用户名?

使用以下命令获取aduser帐户名、电子邮件地址

Get-ADGroupMember "Asia_Sales_Users" | Sort -Property Name | foreach{ get-aduser $_ -Properties SamAccoutName| select Name, Surname, GivenName,
SamAccountname, EmailAddress | ft -AutoSize

Get-AdGroupMember 示例?

如果您想获取一个组中的用户列表并将其添加到另一个组中

Get-ADGroupMember "asia_sales" | Get-ADUser | Foreach-Object {Add-ADGroupMember -Identity "India_sales" -Members $_}

如何使用 PowerShell 将广告组成员导出到 CSV 文件?

Get-ADGroupMember -identity “Asia_Sales” | select name | Export-csv -path C:\PowerShell\adgroupmembers.csv -NoTypeInformation

此命令列出属于 Asia_Sales 组的广告组成员,并使用 Export-csv 将其信息导出到 adgroupmembers.csv 文件

结论

希望您发现并喜欢上面的文章,使用 Get-AdGroupMember cmdlet 获取 Active Directory 组成员很有帮助且具有教育意义。

PowerShell Active Directory 模块提供了强大的 cmdlet 来执行 Active Directory 成员并将其导出到 CSV 文件。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

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

取消回复欢迎 发表评论:

关灯