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

[玩转系统] 获取 ADUser

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

获取 ADUser


[玩转系统] 获取 ADUser

Get-ADUser PowerShell CmdLet 是一个强大的命令,用于查询 Active Directory 用户对象并生成报告。

本文提供了 Get-ADUser 最广泛使用的参数的示例。

运行 Get-ADUser 的先决条件

Get-ADUser CmdLet 位于 ActiveDirectory PowerShell 模块中。

该模块是 RSAT 的一部分,默认情况下在域控制器上可用。在 Windows 10 版本 1809 及更高版本上,您可以通过从管理 PowerShell 控制台运行以下命令来安装 RSAT:

Get-WindowsCapability -Name RSAT.ActiveDirectory* -Online | Add-WindowsCapability -Online

(要在任何其他操作系统上安装 RSAT,请阅读本文)。

考虑到这一点,让我们看看 Get-ADUser PowerShell 命令最常用的参数。

获取 ADUser-Identity

Identity 参数标识您的用户帐户。 ID 表示 SamAccountName、GUID、DistinguishedName 或 SID。

在大多数情况下,您可能会使用 SamAccountName。

此参数是隐式,这意味着如果您输入用户 ID 作为第一个参数,则无需键入该参数:

[PS] C:\>Get-ADUser amy.brown

DistinguishedName : CN=Amy Brown,OU=Iowa,OU=UnitedStates,OU=Users,OU=E365M,DC=easy365manager,DC=local
Enabled           : True
GivenName         : Amy
Name              : Amy Brown
ObjectClass       : user
ObjectGUID        : 63d77678-35b4-4704-9790-80479ee6a26e
SamAccountName    : amy.brown
SID               : S-1-5-21-3688220979-3330231506-4120471870-9973
Surname           : Brown
UserPrincipalName : [email protected]

上面输出中看到的有限输出给我们带来了下一个非常有用的参数。

获取 ADUser-属性

Properties 参数是一个以逗号分隔的列表,其中列出了您要检索的其他用户属性(除了前面输出中看到的标准属性之外)。

以下是列出 ProxyAddresses 属性的示例:

[PS] C:\>Get-ADUser amanda.gray -Properties proxyAddresses,mailNickname

DistinguishedName : CN=Amanda Gray,OU=Alabama,OU=UnitedStates,OU=Users,OU=E365M,DC=easy365manager,DC=local
Enabled           : True
GivenName         : Amanda
mailNickname      : amanda.gray
Name              : Amanda Gray
ObjectClass       : user
ObjectGUID        : 035dde6d-ce0e-4b05-b161-bbf18df268e3
proxyAddresses    : {SMTP:[email protected], smtp:[email protected], smtp:[email protected]}
SamAccountName    : amanda.gray
SID               : S-1-5-21-3688220979-3330231506-4120471870-9056
Surname           : Gray
UserPrincipalName : [email protected]

(请注意,Active Directory 中的属性区分大小写。)

如何查看多值属性

显示多值属性(例如 MemberOf 或 ProxyAddresses)的一种简单方法是在寻址属性之前使用括号:

PS C:\> (Get-ADUser alexander.ruiz -Properties *).proxyAddresses
SMTP:[email protected]
smtp:[email protected]
smtp:[email protected]

此外,如果您不记得要检索的属性的确切名称,有一个巧妙的技巧。

例如。要检索那些名称奇怪的 Exchange 类型属性,只需运行以下 CmdLet:

PS C:\> Get-ADUser -Identity amanda.gray -Properties * | fl *exch*

msExchRecipientDisplayType : -2147483642
msExchRecipientTypeDetails : 2147483648
msExchRemoteRecipientType  : 4
msExchVersion              : 44220983382016

(除非您经常查询数千个对象,使用通配符获取所有属性通常比显式键入它们更方便。)

获取 ADUser -Filter 和 -LdapFilter

要根据各种条件搜索用户,您可以使用 Filter 或 LdapFilter 参数。

搜索和过滤是一个很大的话题,我们已经编写了关于 -Filter 开关和 -LdapFilter 开关的专门文章。

众所周知,我们更喜欢 LdapFilter,因为它比 Filter 参数更有效。

一旦掌握了 LDAP 过滤的基本规则,您就可以针对您想要的任何用户属性编写复杂的查询!

以下是使用通配符和逻辑“and”的 LDAP 查询:

PS C:\> Get-ADUser -LDAPFilter "(&(proxyAddresses=*)(samAccountName=*man*))" | ft Name,GivenName,Surname

Name            GivenName Surname
----            --------- -------
Amanda Peterson Amanda    Peterson
Amanda Gray     Amanda    Gray
Amanda Mitchell Amanda    Mitchell
Amanda Scott    Amanda    Scott

(查看本文以了解 LDAP 查询语法的概述。)

这是使用 Filter 开关的查询示例:

PS C:\> Get-ADUser -Filter "DisplayName -like '*tha lo*'" | ft Name,UserPrincipalName

Name           UserPrincipalName
----           -----------------
Samantha Lopez [email protected]
Samantha Long  [email protected]

(查看本文以了解过滤器开关的更多示例。)

接下来,为了将搜索限制到特定的 OU,让我们看看 SearchBase 参数。

获取 ADUser -SearchBase

使用 SearchBase 开关,您可以将搜索 (Filter/LdapFilter) 限制为给定 OU(以及任何子 OU)。

SearchScope 参数有三个选项(“Base”、“OneLevel”、“SubTree”)。 SubTree 是默认值,您经常会省略 SearchScope 参数。

这是使用 SearchBase 参数的示例查询:

PS C:\> Get-ADUser -LDAPFilter "(givenName=Dennis)" -SearchBase "OU=UnitedStates,OU=Users,OU=E365M,DC=easy365manager,DC=local" -SearchScope SubTree -ResultSetSize 5 | ft UserPrincipalName

UserPrincipalName
-----------------
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

(使用 ResultSetSize 参数来限制结果的数量。)

如何使用 Get-ADUser 生成报告

尤其是在较大的组织中,人们经常向基础设施人员寻求报告。

掌握将AD信息导出到Excel的艺术,你可以赚到很多蛋糕! ?

幸运的是,这并不是很复杂。

以下脚本搜索迁移到 Office 365 的所有美国用户并将结果导出到 .csv 文件:

Get-ADUser -LDAPFilter "(&(c=US)(msExchRemoteRecipientType=4))" -properties * | Select-Object DisplayName,UserPrincipalName | Export-Csv ($Env:temp + "\US_Migrated_O365.csv") -NoTypeInformation

下一级 Active Directory 和 Office 365 管理

你是否想要:

  • 在单个界面(AD 用户和计算机)中管理 AD 和 Office 365。
  • 在几秒钟内将复杂的任务(例如日历委托)转移给第一线支持。
  • 删除您的 Exchange 本地服务器。

使用 Easy365Manager,您不再需要登录 Microsoft 365 管理中心、Exchange Online 管理中心或 Azure 门户来进行日常用户管理。

请考虑以下示例,其中在几秒钟内配置了日历委托,而无需使用复杂的 PowerShell 脚本:

Easy365Manager 是 AD 用户和计算机的管理单元,允许您将 Office 365 邮箱和许可证作为标准 AD 管理的一部分进行管理。

Easy365Manager 通过两个新选项卡扩展了用户属性,因此您不再需要在多个工具之间切换来执行日常管理:

[玩转系统] 获取 ADUser

借助 Easy365Manager,您可以删除本地 Exchange 服务器,以避免未来出现所有零日漏洞。

请在此处观看详细的功能列表。

Easy365Manager 不会对您的基础设施进行任何更改,您可以在不到一分钟的时间内安装它。

尝试 30 天试用。我们保证您将在本周末之前节省工作时间!

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

取消回复欢迎 发表评论:

关灯