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

[玩转系统] Get-AdUser - 使用 PowerShell 获取 Active Directory 用户

作者:精品下载站 日期:2024-12-14 16:41:29 浏览:14 分类:玩电脑

Get-AdUser - 使用 PowerShell 获取 Active Directory 用户


PowerShell 中的 Get-AdUser cmdlet 用于获取一个或多个 Active Directory 用户。 Active Directory Get-AdUser 检索一组默认的用户属性。使用 Identity 参数,您可以指定 Active Directory 用户以获取其属性。

Get-AdUser 是一个功能强大的 cmdlet,用于get-aduser 所有属性、使用 samaccountname 获取用户并使用 get-aduser 筛选参数获取特定用户对象。

使用 Get-AdUser Identity 参数,您可以执行搜索以获取特定的广告用户。

[玩转系统] Get-AdUser - 使用 PowerShell 获取 Active Directory 用户

在本文中,我将通过不同的示例解释 Get-ADUser cmdlet 来获取 Active Directory 用户对象。

注意:要使用 PowerShell Get-ADUser cmdlet,需要安装 Active Directory 附加模块。

让我们通过语法和示例来了解 PowerShell Get-AdUser cmdlet。

让我们来练习!

获取 AdUser 语法

Active Directory Get-AdUser 语法

Get-ADUser   [-AuthType <ADAuthType>]   [-Credential <PSCredential>]   -Filter <String>   [-Properties <String[]>]
   [-ResultPageSize <Int32>]   [-ResultSetSize <Int32>]   [-SearchBase <String>]   [-SearchScope <ADSearchScope>]
   [-Server <String>]   [<CommonParameters>]

Get-ADUser   [-AuthType <ADAuthType>]   [-Credential <PSCredential>]   [-Identity] <ADUser>   [-Partition <String>]
   [-Properties <String[]>]   [-Server <String>]   [<CommonParameters>]

Get-ADUser   [-AuthType <ADAuthType>]   [-Credential <PSCredential>]   -LDAPFilter <String>   [-Properties <String[]>]
   [-ResultPageSize <Int32>]   [-ResultSetSize <Int32>]   [-SearchBase <String>]   [-SearchScope <ADSearchScope>]
   [-Server <String>]   [<CommonParameters>]

描述

Get-AdUser 用于获取一个或多个活动目录对象或执行搜索以获取特定用户。

-AuthType - 基于基本(或 1)或协商(或 0)使用的身份验证方法。

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

-凭据 PSCredential - 它指定执行 get-aduser cmdlet 所需的用户凭据。它默认接受登录用户的凭据。

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

-Identity - 使用属性值指定广告用户

  • 专有名称
  • SAM帐户名
  • 安全标识符
  • GUID

括号中指定的标识符是 LDAP 显示名称。

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

-过滤器 - 它指定一个查询字符串(PowerShell 表达式语言语法)来检索 Active Directory 对象。 过滤器 语法不支持除 * 之外的 PowerShell 通配符。

-LDAPFilter - LDAPFilter 查询字符串用于过滤 Active Directory 对象。

Get-AdUser cmdlet 返回默认属性集。但是,如果您想获取所有属性,请使用 Properties 参数。

让我们通过不同的示例来了解如何使用 PowerShell Get-AdUser。

获取 AdUser 示例

Get-AdUser cmdlet 获取 Active Directory 用户信息。此 cmdlet 用于获取 aduser 所有属性、使用 userprincipalname 获取 aduser、获取 Active Directory 登录详细信息报告等。

获取 AdUser 所有属性

使用Properties参数,您可以获得所有属性。

Get-ADUser -Identity Toms -Properties *

在上面的 get aduser 示例中,Get-AdUser 获取由 Identity 参数指定的 SAMAccountName 用户的所有属性。

它在控制台上打印用户属性。

[玩转系统] Get-AdUser - 使用 PowerShell 获取 Active Directory 用户

获取 AdUser 默认和扩展属性

Get-AdUser cmdlet 检索一组默认的用户帐户属性。

使用 Get-Member cmdlet,您可以获得 Get-AdUser 对象的默认属性集的列表。

Get-AdUser <user> | Get-Member

Get-Member cmdlet 获取广告用户帐户对象的成员、属性和方法。

您可以获得最常用的 Get-AdUser 属性

Get-AdUser <user> -Properties Extended | Get-Member

使用扩展参数,您可以获取 aduser 扩展属性

您可以获得所有 aduser 对象属性的列表。

Get-AdUser <user> -Properties * | Get-Member

使用 SAMAccountName 获取 AdUser

使用 Get-Aduser Filter 参数,您可以使用 SAMAccountName 获取广告用户。

Get-ADUser -Filter "samaccountname -like 'Toms'"

在上面的 PowerShell 获取 aduser 脚本中,Get-AdUser cmdlet 使用过滤器参数像 Toms 一样获取 aduser samaccountname

它返回用户属性,例如名称、SID 和 UserPrincipalName。

DistinguishedName : CN=Tom Smith,OU=SALES,DC=SHELLPRO,DC=LOCAL
Enabled           : True
GivenName         : Tom
Name              : Tom Smith
ObjectClass       : user
ObjectGUID        : 1f3a2572-2621-4e47-9bdf-81d1f8172f69
SamAccountName    : toms
SID               : S-1-5-21-1326752099-4012446882-462961959-1103
Surname           : Smith
UserPrincipalName : [email 

特定 OU(组织单位)中的 Get-AdUser

您可以使用 PowerShell Get-AdUser SearchBase 参数获取特定 OU (OrganizationalUnit) 中所有广告用户的列表。

 Get-ADUser -SearchBase "OU=HR,DC=SHELLPRO,DC=LOCAL" -Filter * -Properties Name

在上面的 PowerShell get-aduser searchbase 脚本中,它获取由 Get-AdUser SearchBase 参数和过滤器参数指定的特定 OU 中的所有用户的列表。

上述 aduser 在特定 OU 中的输出。

DistinguishedName : CN=Erick Jones,OU=HR,DC=SHELLPRO,DC=LOCAL
Enabled           : True
GivenName         : Erick
Name              : Erick Jones
ObjectClass       : user
ObjectGUID        : 43551543-0214-4656-bd18-9f2dec5f8076
SamAccountName    : ErickJ
SID               : S-1-5-21-1326752099-4012446882-462961959-1105
Surname           : Jones
UserPrincipalName : [email 

DistinguishedName : CN=Gary Willy,OU=HR,DC=SHELLPRO,DC=LOCAL
Enabled           : True
GivenName         : Gary
Name              : Gary Willy
ObjectClass       : user
ObjectGUID        : a65bc140-d8dc-43b9-988d-2c0afa163be1
SamAccountName    : garyw
SID               : S-1-5-21-1326752099-4012446882-462961959-2601
Surname           : Willy
UserPrincipalName : [email 

将广告用户导出到 CSV 文件

要将广告用户导出到 CSV 文件,请使用 Get-AdUser 列出所有用户属性,然后使用 Export-CSV cmdlet 将广告用户导出到指定路径上的 CSV 文件。

 Get-ADUser -SearchBase "OU=HR,DC=SHELLPRO,DC=LOCAL" -Filter * -Properties Name | Select-Object Name, DistinguishedName,Enabled,UserPrincipalName,SamAccountName| Export-Csv -Path C:\get-adusers.csv -NoTypeInformation

在上面的 PowerShell 获取广告用户脚本中,

Get-AdUser 使用 Get-AdUser SearchBase 参数获取指定 OU 中所有用户的列表,并将输出传递给第二个命令。

第二个命令使用 Select-Object 获取名称、专有名称、启用、userprincipalname 和 samaccountname 并将输出传递给第三个命令。

第三条命令使用 PowerShell Export-Csv cmdlet 将 ad用户列表导出到指定路径上的 CSV 文件。

将广告用户导出到 CSV 文件的输出如下 CSV 所示

"Name","DistinguishedName","Enabled","UserPrincipalName","SamAccountName"
"Erick Jones","CN=Erick Jones,OU=HR,DC=SHELLPRO,DC=LOCAL","True","[email ","ErickJ"
"Gary Willy","CN=Gary Willy,OU=HR,DC=SHELLPRO,DC=LOCAL","True","[email ","garyw"

Get-AdUser 密码上次设置早于 X 天

您可以获得最后设置的早于指定天数的 aduser 密码列表。

Get-ADUser -Filter 'Enabled -eq $True' -Properties PasswordLastSet | Where-Object {$_.PasswordLastSet -lt (Get-Date).adddays(-90)} | select Name,SamAccountName,PasswordLastSet

在上面的 PowerShell 脚本中,Get-AdUser cmdlet 使用 Enabled 属性获取处于活动状态的广告用户的列表。

Enabled 属性用于获取 aduser 在 Active Directory 中是否处于活动状态。

第二个命令使用Where-Object 使用 Get-Date cmdlet 检查 PassWordLastSet 属性是否少于 90 天,并将输出传递给第三个命令。

第三条命令选择 name、samaccountname 和 passwordlast 将属性设置到控制台。

上述用于获取上次设置的超过 90 天的 aduser 密码的 PowerShell 脚本的输出如下

Name        SamAccountName PasswordLastSet
----        -------------- ---------------
Gary Willy  garyw          4/25/2021 6:55:50 PM
John Smith  johns          4/20/2021 1:08:57 PM

获取 AdUser 管理员名称

要获取活动目录中的 aduser 管理员名称,请运行以下命令

 get-aduser -Identity chrisd -Properties * | select SAMAccountname, @{Name='Manager';Expression={(Get-ADUser ($_.Manager)).SAMAccountname}}

在上面的 PowerShell 脚本中,Get-AdUser 使用 Identity 参数获取用户的用户属性,并将输出传递给第二个命令。

第二个命令选择给定 Active Directory 用户的 SAMAccountName,并使用 Manager 属性使用表达式获取经理名称。

上述 Get-AdUser Manager 名称的输出如下

SAMAccountname Manager
-------------- -------
chrisd         toms

获取 Aduser AccountExpirationDate

您可以使用 AccountExpirationDate 获取 aduser 帐户的到期日期。

Get-ADUser -filter * -properties AccountExpirationDate  | sort Name | ft Name,AccountExpirationDate

在上面的 PowerShell 脚本中,Get-AdUser 获取所有用户的列表。

它检索 AccountExpirationDate 属性并将输出传递给第二个命令。

第二个命令按名称对用户进行排序并将其打印在控制台上。

Name        AccountExpirationDate
----        ---------------------
Chris Dore  8/1/2021 12:00:00 AM
Erick Jones
Gary Willy

其他 aduser 没有设置帐户过期时间,因此它们的值为空。

酷提示:如何使用remove-aduser在PowerShell中删除aduser!

获取 AdUser BadPwdCount

aduser 通常会尝试使用旧密码登录系统,从而导致帐户被锁定。

Active Directory 用户帐户具有 badpwdcount 属性,用于存储错误密码尝试计数。

默认情况下,它的值为 0。当用户尝试输入错误密码时,badpwdcount 属性递增值。

成功登录后,badpwdcount 值重置为 0。

要获取 aduser badpwdcount,请使用 PowerShell 脚本

 Get-ADUser -Identity Toms -Properties *  | Select-Object badpwdcount

它获取使用identity参数指定的用户并返回用户帐户badpwdcount

获取 AdUser Manager SamAccountName

使用 Get-AdUser,您可以获取 aduser manager samaccountname。

用户有一个manager属性,其中包含一个管理员专有名称。

要获取用户的 aduser manager samaccountname,请运行以下脚本

$user = "garyw"
$Manager = get-aduser $user -properties * | Select -ExpandProperty Manager

get-aduser $Manager -properties * | Select SamAccountName,DisplayName

在上面的 PowerShell 脚本中获取 aduser garyw manager samaccountname,

$user 变量存储用户名。

第二个命令使用 Get-AdUser 命令来获取 aduser 的所有属性。它选择一个经理并将其存储在 $Manager 变量中。

第三个命令再次使用 Get-AdUser 来获取 aduser 管理器 samaccountname 和管理器显示名称。

结论

我希望上述关于 Active Directory 中的 PowerShell Get-ADUser cmdlet 的指南对您在日常任务中使用它来获取 Active Directory 用户、get-aduser 所有属性等有所帮助。

您可以获得默认的 aduser 属性集。要获取其他属性,请使用Property参数。

您可以使用过滤器或 Ldapfilter 参数,使用 PowerShell 表达式语言从 Active Directory 中搜索一个或多个广告用户。

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

推荐内容

获取 AdUser 所有属性 - 在 PowerShell 中获取 aduser 的所有属性。

启用 AdUsers - 在 Active Directory 中启用 Adusers。

获取 AdUser 电子邮件地址

获取 AdUser LDAP 过滤器 - 使用 LDAP 过滤器获取 Active Directory 用户

获取 AdUsers 排除 OU - 获取 AdUsers 并排除特定 OU。

获取 AdUser 描述 - 从活动目录获取 AdUser 描述。

获取 AdUser 可分辨名称 - 从活动目录中获取 AdUser 可分辨名称。

将 SID 转换为用户名 - 使用 PowerShell 和命令行从 SID 获取用户名

获取 AdUser 多个用户 - 获取 Active Directory 中的多个用户属性

获取 AdUser 格式表 - 设置表输出中的 aduser 列表的格式。

获取具有多个属性的 AdUser 过滤器 - 获取具有多个属性的 aduser 过滤器列表。

获取按 SAMAccountname 排序的 AdUser

获取 AdUser 管道到 Add-AdGroupMember - 获取 aduser 并将用户添加到广告组作为成员。

获取 AdUser 计数 - 获取活动目录用户数、活动用户数、启用用户数

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

取消回复欢迎 发表评论:

关灯