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

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

作者:精品下载站 日期:2024-12-14 05:59:42 浏览:14 分类:玩电脑

使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格


获取用户的组成员资格

管理员通常需要找出某个用户(或计算机、组或服务帐户)所属的 Active Directory 组。他们有多种选择来发现此信息,包括:

  • Active Directory 用户和计算机 (ADUC)
  • GPResult cmdlet
  • Whoami cmdlet

使用 ADUC 控制台

ADUC 仍然是调查用户组成员资格的最常见方法。只需启动控制台,打开用户属性,然后转到 MemberOf 选项卡,如下所示:

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

使用 GPResult Cmdlet

GPResult 主要用于检查客户端或工作站上的组策略设置,但它也提供有关运行它的用户的组成员身份的信息。只需打开提升的 PowerShell 命令行,以要检查的用户身份登录并发出以下命令:

gpresult /R

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

计算机设置部分显示计算机对象的组成员身份。

在用户设置下,您可以查看登录用户的组成员身份:

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

使用 Whoami Cmdlet

或者,登录用户可以使用以下命令查看其组成员身份:

Whoami /groups

输出如下所示:

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

获取 ADPrincipalGroupMembership Cmdlet

虽然如果您只需要检查一两个用户的成员身份或仅检查您自己的组成员身份,这些方法就足够了,但它们无法满足许多管理员的需求。

输入 PowerShell cmdlet Get-ADPrincipalGroupMembership。此 cmdlet 显示指定用户、计算机、组或服务帐户所属的 AD 组。此命令需要全局编录才能执行组搜索。如果包含用户、计算机或组的林没有全局编录服务器,则 cmdlet 会给出错误。

获取 ADPrincipalGroupMembership:参数

以下参数最常与 Get-ADPrincipalGroupMembership cmdlet 一起使用:

  • 验证类型
  • 凭据
  • 身份
  • 分割
  • 资源上下文分区
  • 资源上下文服务器
  • 服务器

验证类型

使用此参数指定要使用的身份验证方法。有效值为:

  • 协商0 - 这是默认的身份验证机制。
  • 基本1 - 此选项需要 SSL(安全套接字层)连接。

凭据

如果要运行 PowerShell cmdlet 或脚本并且登录用户没有足够的权限,请使用此参数指定备用凭据。

AbbeyCrawforddomain\AbbeyCrawford 格式指定用户名。或者,您可以使用 Get-Credential cmdlet 创建 PSCredential 对象。

身份

使用 Identity 参数指定您想要查看其组成员身份的 AD 对象。您可以通过对象的专有名称 (DN)、GUID、安全标识符 (SID) 或 SAM 帐户名称来指定对象。或者,您可以构建一个变量或通过管道向 Identity 参数提供一个对象。例如,您可以使用 Get-ADUser cmdlet 检索用户对象,并将其通过管道发送到 Get-ADPrincipalGroupMembership cmdlet。

分割

使用此参数指定 Active Directory 分区的可分辨名称,以搜索对象所属的组。

资源上下文分区

使用此参数指定 AD 或 AD LDS 实例的分区的可分辨名称,以搜索对象所属的组。

要指示由所提供的服务器托管的分区,请将此选项与 ResourceContextServer 参数结合使用。如果未提供 ResourceContextPartition 选项,则搜索 ResourceContextServer 的默认分区。

资源上下文服务器

使用此参数可识别用户帐户所在域以外的域中的组成员身份(即,您要获取其成员身份的用户或对象)。如果您想要在域的默认分区以外的分区中进行搜索,还请包括 ResourceContextPartition 参数。

服务器

使用此参数提供要连接到的 AD 域服务实例的完全限定域名、NetBIOS 名称或完全限定目录服务器名称(带或不带端口号)。

获取 ADPrincipalGroupMembership:示例

以下示例展示了 Get-ADPrincipalGroupMembership cmdlet 的用法:

  • 获取特定 AD LDS 实例中用户的组成员身份
  • 获取域管理员的组成员身份
  • 以表格形式查看组成员信息
  • 获取资源域中帐户的组成员身份
  • 使用 Get-ADPrincipalGroupMembership 筛选组
  • 获取计算机的会员资格

获取特定 AD LDS 实例中用户的组成员身份

要从特定服务器和分区检索用户的组成员身份信息,请使用以下 cmdlet。 -Identity 参数与您想要查看其成员身份的用户的可分辨名称一起使用。

Get-ADPrincipalGroupMembership -Server localhost -Identity " CN=AbbeyCrawford,OU=Versacorp,DC=virgo,DC=local" -Partition "DC=Virgo,DC=local"

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

获取域管理员的组成员身份

要查看域的内置管理员的组成员身份,请使用以下 cmdlet:

Get-ADPrincipalGroupMembership administrator

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

请注意,默认情况下,内置管理员是常见安全组的成员,例如管理员、备份操作员、架构管理员、企业管理员和域管理员。

以表格形式查看组成员信息

如果此信息太原始并且您更喜欢以表格形式查看它,请使用以下命令。首先,Get-ADPrincipalGroupMembership 获取 Identity 参数中指定的用户的组成员身份。该结果将传递给 Get-ADGroup,后者获取有关组的详细信息。该信息将传递到第三个 cmdlet Select,该 cmdlet 会打印用户所属的每个组的名称和描述。

Get-ADPrincipalGroupMembership -Identity administrator | Get-ADGroup -Properties Description | Select Name, Description

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

获取资源域中帐户的组成员身份

要在特定资源域中搜索 AD 用户帐户的组成员身份,请运行以下命令:

Get-ADPrincipalGroupMembership -Identity AbbeyCrawford -ResourceContextServer virgo.local -ResourceContextPartition “DC-virgo,DC=local”

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

使用 Get-ADPrincipalGroupMembership 筛选组

如果要过滤用户所属的组,请运行以下命令:

Get-ADPrincipalGroupMembership -Identity AbbeyCrawford | Select Name | Where-Object {$_.Name -like 'S*'} | Sort Name

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

在此 cmdlet 中:

  • Get-ADPrincipalGroupMembership 获取指定用户的组成员身份并将该输出传递给 Select 命令。
  • Select 命令将结果限制为仅组的名称。
  • where-object 参数根据指定的条件过滤组。
  • 最后一个命令对筛选列表进行排序并在 PowerShell 控制台中显示结果。

获取计算机的会员资格

要获取计算机对象所属的组,请运行以下 cmdlet:

Get-ADPrincipalGroupMembership -Identity 'CN=DCEXCH2016,OU=Domain Controllers,DC=virgo,DC=local' | Select-Object Name

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

此处,Get-ADPrincipalGroupMembership cmdlet 获取 Identity 参数中指定的计算机对象的成员资格作为可分辨名称。它将输出传递给第二个 cmdlet,后者在 PowerShell 控制台中显示组名称。

使用 Netwrix GroupID 报告模块查看成员资格

Netwrix GroupID 报告模块是 PowerShell 和其他 Microsoft 查看组成员方法的可靠替代方法。此免费报告工具旨在运行 Active Directory、Microsoft Exchange 和 Office 365 上的报告。您可以快速创建以下报告来查看用户及其组成员身份:

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

您可以创建报告并安排其根据需要运行。该报告使用以下 LDAP 查询从 Active Directory 获取用户及其组成员身份:

(&(objectCategory=Person)(objectless=User))

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

以下屏幕截图显示了报告中的一些列。您可以根据需要添加更多列或删除默认列。

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

如果您对查询不满意,可以查看您的选择并进行编辑。

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

您将获得网页形式的报告,如下所示。或者,您可以选择以 Excel 或 XML 格式输出。

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

[玩转系统] 使用 Get-ADPrincipalGroupMembership Cmdlet 查找成员资格

结论

管理员有多种方法来获取 AD 对象的组成员身份。 Get-ADPrincipalGroupMembership cmdlet 是一个强大的选项。一种更简单的方法是使用 Netwrix GroupID Reports,这样就无需学习 PowerShell cmdlet 和编写脚本。

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

取消回复欢迎 发表评论:

关灯