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

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

作者:精品下载站 日期:2024-12-14 23:11:54 浏览:17 分类:玩电脑

使用通配符搜索 AD 组、用户和计算机


使用某种模式、正则表达式或通配符按名称搜索 Active Directory 中的对象(用户、组或计算机)的任务并不像看起来那么明显。问题是,默认情况下,标准 ADUC(Active Directory 用户和计算机)管理单元不允许在搜索短语的开头或中间使用通配符。

例如,您想要在 Active Directory 中搜索包含关键字“的所有组”

SQL

”以他们的名义。如果您在 ADUC 中打开 AD 搜索控制台(查找用户、联系人和组)并对 SQL 关键字执行基本搜索,您很可能对结果不满意。 ADUC 将仅显示名称开头带有指定关键字的组和用户。其余带有关键字的对象

sql

将不会被发现。正在搜索

*sql*

模式也不会给出任何结果(通配符不起作用)。

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

您可以使用以下命令快速打开 Active Directory 搜索表单:

%SystemRoot%\SYSTEM32\rundll32.exe dsquery,OpenQueryWindow

如何使用 ADUC 查找 Active Directory 用户或组?

您可以在图形 ADUC 控制台中找到您需要的对象(

dsa.msc

)使用简单的 LDAP 查询。

  1. 为此,请打开查找菜单,然后在下拉列表中选择自定义搜索

  2. 转到高级选项卡;

  3. 类型

    name=*sql*

    输入 LDAP 查询字段中。

注意。此 LDAP 查询定义您要查找名称中包含 sql 关键字的所有 AD 对象。为此,请使用通配符

*

两侧。

如果您只想搜索 AD 组对象,请使用以下 LDAP 查询。

(&(objectcategory=group)(name=*sql*))

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

如您所见,使用此 LDAP 查询找到了所有类型的 AD 对象(组、计算机、用户、gMSA 服务帐户)。

您可以在 AD 搜索控制台中使用高级过滤器。为此,请启用查看菜单中的过滤器选项,并使用高级过滤器来优化搜索。

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

如果您使用的是 Active Directory 管理中心 (

dsac.exe

)控制台用于搜索 AD 对象,您还可以使用 LDAP 查询进行搜索。选择全局搜索并切换到转换为LDAP模式。在LDAP 查询字段中输入您的查询。

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

提示。 在某些情况下,使用 Active Directory 控制台中保存的 LDAP 查询来查找对象很方便。

在 Active Directory 中搜索计算机

要通过精确匹配在 Active Directory 中搜索计算机和服务器,请在查找字段中选择计算机,然后指定要搜索的计算机的名称。

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

如果需要使用通配符在 AD 中查找计算机,则需要在 ADUC 的“自定义搜索”->“高级”部分中使用此类 LDAP 查询。

(&(objectcategory=computer)(name=*sql*))

如何使用 PowerShell 查找 Active Directory 组、用户或计算机?

您还可以使用 ActiveDirectory PowerShell 模块在 AD 中查找对象。您可以使用适当的 cmdlet 在 Active Directory 中搜索特定类型的对象。

  • Get-ADGroup - 组搜索

  • Get-ADUser - 用户搜索

  • Get-ADComputer - 搜索计算机

首先,需要先导入PowerShell模块:

Import-Module ActiveDirectory

要使用通配符在 AD 中搜索组,可以使用以下 PowerShell 命令:

Get-ADGroup -Filter {name -like "*sql*"} -Properties Description,info | Select Name,samaccountname,Description,info | Sort Name

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

同样,您可以通过计算机名称或用户名进行搜索:

Get-ADUser -Filter {name -like "*sql*"}
Get-ADComputer -Filter {name -like "*sql*"}

如果要对所有类型的 AD 对象执行全局搜索,请使用 Get-ADObject cmdlet:

Get-ADObject -Filter {name -like "*sql*"} -Properties * | select sAMAccountName, ObjectClass, userPrincipalName, DisplayName, Description | FT

正如您所看到的,该命令返回了 AD 中的所有对象类:计算机、用户、组、msDS-GroupManagedServiceAccount。

[玩转系统] 使用通配符搜索 AD 组、用户和计算机

您可以直接在 Get-ADObject 命令中使用 LDAP 过滤器(我还使用 SearchBase 选项添加了搜索范围):

Get-ADObject -LdapFilter "(&(objectCategory=person)(objectClass=user)(cn=*sql*))" -SearchBase "OU=DE,DC=a-d,DC=com"

您可以使用专用的 Search-ADAccount cmdlet 来查找已禁用、不活动的用户或计算机。

如果需要查找所有 AD 组托管服务帐户(MSA 和 gMSA),请使用以下命令:

Get-ADServiceAccount -Filter {name -like "*sql*"}

我希望这些简单的方法能让您更轻松地在 Active Directory 中查找对象。

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

取消回复欢迎 发表评论:

关灯