如果您需要在您的域中查找Active Directory(AD)用户,PowerShell的Get-AdUser命令就在这里。用户帐户分配给员工、服务帐户和其他资源。在您知道之前,AD用户帐户变得难以管理。
使用Get-AdUser
PowerShell cmdlet,您可以以多种不同的方式获取AD用户。在本文中,您将学到其中一些方法以及如何使用这个方便的cmdlet。
使用ManageEngine ADManager Plus管理和报告Active Directory、Exchange和Microsoft 365。下载免费试用版!
先决条件
要使用本文中涵盖的Get-AdUser
cmdlet示例,请确保您具备以下条件:
- 在加入AD域的Windows PC上
- 以AD用户帐户登录
- 已安装PowerShell Active Directory模块
使用Identity
查找用户帐户
Get-AdUser
cmdlet 的存在只有一个目的。它的存在是为了提供尽可能多的选项来查找域用户。如果您已经知道要查找的用户名称,可以使用 Identity
参数。
Identity
参数允许您提供四种不同的标识符之一。
- distinguishedName (DN)
- samAccountName
- GUID
- SID
下面您可以看到使用各种标识符查找用户帐户的一些示例。请注意,它返回每个用户帐户的一组 AD 属性。
用于
Identity
参数的最常用的属性将是samAccountName
属性。
Get-ADUser
过滤器
如果您需要查找多个域用户或不知道标识符,可以使用过滤器。为此,您可以使用两个名为 Filter
和 LDAPFilter
的参数。
每个过滤器参数都允许用户提供一个条件语句。当满足此条件时,Get-AdUser
将返回符合该条件的用户帐户。
过滤用户的最常用参数是 Filter
。 Filter
参数允许您创建类似于 PowerShell Where-Object
命令过滤器语法的条件。
Filter
参数使用一种称为 PowerShell 表达式语言语法的语言。这种语言有点像你在 Where-Object
中使用的,但又有所不同。关于如何使用此过滤器的详细信息,请查看此文章中的Active Directory 和 LDAP 过滤器。
下面是使用 Filter
参数的示例。此示例提供了一个 AD 属性(在此示例中为 givenName
)并设置了一个条件。如果用户的 givenName
等于 Adam
,则仅允许返回该过滤器的用户。
另一个过滤选项是 LDAPFilter
,本文不涵盖此部分。有关 LDAPFilter
及其语法的更多信息,请参阅此文章:Active Directory 和 LDAP 过滤器。
使用 Get-AdUser 按 OU
通过提供标识或过滤器,PowerShell 返回符合条件的域中的所有用户。它不限于 OU。您需要为 Get-AdUser
设置一个“过滤器”,以便使用 Get-Aduser -SearchBase <OU>
按 OU 进行过滤。
使用 SearchBase
参数允许您开始在特定 OU 中搜索用户帐户。 SearchBase
参数接受 OU 的分层名称(DN)。
例如,您可以如下所示找到 MyUsers OU 中的所有用户。使用 Filter
的 *
表示匹配所有用户帐户。
也许你只想在一个 OU 中查找用户帐户,并排除任何子 OU。在这种情况下,你可以使用SearchBase
和SearchScope
参数。SearchScope
参数定义了你想要搜索的 OU 层次的深度。
例如,如果你想在一个 OU 及其所有子 OU 中查找所有用户帐户,你可以将SearchScope
值设为1
。如果你想要搜索所有子 OU 和孙子 OU,你可以使用2
。
下面是在MyUsers OU 及其所有子 OU 中查找用户帐户的示例。
使用备用凭据
默认情况下,Get-AdUser
将在已登录用户的上下文中运行。但是你也可以使用Credential
参数提供备用凭据。
要使用备用凭据进行身份验证,请像下面这样创建一个PSCredential对象:Get-Credential
。
有关凭据的更多信息,请查看使用 PowerShell Get-Credential cmdlet 以及所有与凭据相关的事项。
PowerShell Get-AdUser 属性参数
当你运行Get-AdUser
时,你会立即看到只返回了少数属性。你还会看到,即使将输出导管到Select-Object -Property *
,仍然没有返回所有属性。
要使用 PowerShell 获取 AD 用户属性,请使用 Property
参数。此参数接受一个或多个逗号分隔的属性,以显示输出。
下面您将看到一个示例,使用 Get-AdUser
查找所有givenName
为Adam
的用户帐户的所有属性。输出已经被剪裁,但您将看到其他熟悉的属性,如电子邮件地址、密码属性等。
使用 ManageEngine ADManager Plus 管理和报告 Active Directory、Exchange 和 Microsoft 365。立即下载免费试用!
摘要
Get-ADUser
cmdlet 是一个方便的命令,用于查找 AD 用户帐户、构建报告等。这是从域中提取 AD 用户的好方法。要了解 Get-AdUser
和所有参数的详细信息,请通过运行 Get-Help Get-AdUser
查看帮助内容。
要了解如何使用 Get-AdUser
的许多其他示例,请查看博客文章Active Directory Scripts Galore: Come and Get It!。