如果您需要在您的域中找到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
命令有一个目的,且仅有一个目的。它的存在是为了提供尽可能多的选项来查找域用户。如果您已经知道要查找的用户名,可以使用 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篩選器。
使用按OU組織的Get-AdUser
通過提供標識或篩選,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,可以使用2
。
以下是在MyUsers OU及其所有子OU中搜索用户帐户的示例。
使用替代凭据
默认情况下,Get-AdUser
将在当前用户的上下文中运行。但是您也可以使用Credential
参数提供替代凭据。
要使用替代凭据进行身份验证,请使用以下方式创建一个PSCredential对象:
有关凭据的更多信息,请查看使用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!。