概览

dsquery 命令帮助你在目录中查找与指定搜索条件匹配的对象:
dsquery 的输入是一个搜索条件,其输出是与该搜索匹配的对象列表。
若要获得特定对象的属性,请使用 dsget 命令 (dsget /?)。

如果你提供的值包含空格,请在文本两边使用引号
(例如,"CN=John Smith,CN=Users,DC=microsoft,DC=com")。

如果你输入了多个值,这些值必须用空格隔开
(例如,一系列可分辨名称)。

示例

在给定组织单位 (OU) 中查找名称以 "何" 开始并且帐户被禁止登录的所有用户,
并显示他们的用户主体名称 (UPN):

dsquery user ou=Test,dc=microsoft,dc=com -o upn -name 何* -disabled

只在当前域中查找名称以 "星星" 结束并且至少已有三个星期处于非活动状态
的所有用户,并显示他们的 DN:

dsquery user domainroot -name *星星 -inactive 3

在给定组织单位中查找 ou=sales,dc=microsoft,dc=com 的所有用户
并显示他们的 UPN:
dsquery user ou=sales,dc=microsoft,dc=com -o upn

另请参阅

目录服务查询:dsquery

dsquery computer /? - 在目录中查找计算机的帮助。
dsquery contact /? - 在目录中查找联系人的帮助。
dsquery subnet /? - 在目录中查找子网的帮助。
dsquery group /? - 在目录中查找组的帮助。
dsquery ou /? - 在目录中查找组织单位的帮助。
dsquery site /? - 在目录中查找站点的帮助。
dsquery server /? - 在目录中查找 AD DC/LDS 实例的帮助。
dsquery user /? - 在目录中查找用户的帮助。
dsquery quota /? - 在目录中查找配额的帮助。
dsquery partition /? - 在目录中查找分区的帮助。
dsquery * /? - 使用通用 LDAP 查询在目录中查找
任何对象的帮助。

其他目录服务命令行工具:

dsadd /? - 添加对象的帮助。
dsget /? - 显示对象的帮助。
dsmod /? - 修改对象的帮助。
dsmove /? - 移动对象的帮助。
dsquery /? - 查找与搜索标准匹配对象的帮助。
dsrm /? - 删除对象的帮助。

名称解析

AD Active Directory 活动目录
LDAP Lightweight Directory Access Protocol 轻型目录访问协议
DC Domain Component 域组件
OU Organizational Unit 组织单位
CN Common Name 通用名称,如:何星星
DN Distinguished Name 可分辨名称, 如:CN=何星星,OU=研发中心,OU=技术发展中心,OU=集团,DC=hxx,DC=tt
RDN Relative Distinguished Name 相对可识别名称,如:何星星
UPN User Principal Name 用户主体名称/用户登录名/邮件地址,如:hexingxing@hxx.tt
SAM SamAccountName SAM 账户名,如:hxx\hexingxing

更多详情解析:https://hexingxing.cn/active-directory-object-attribute-name-resolution/

实例操作

通过姓名查询关键用户

dsquery user -name 何星星
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过模糊姓名查询关键用户:实例一

dsquery user -name 何星*
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过模糊姓名查询关键用户:实例二

dsquery user -name 何*
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何小湘,OU=数字一组,OU=市场部,OU=市场营销中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何未央,OU=闵行,OU=上海,OU=华东分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何克难,OU=南京,OU=江苏,OU=华东分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=何逸轩,OU=朝阳,OU=北京,OU=华北分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过模糊姓名查询关键用户:实例三

dsquery user -name *星*
"CN=王海星,OU=芙蓉,OU=长沙,OU=湖南,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"
"CN=崔夏星,OU=华强北,OU=福田,OU=深圳,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过姓名查询输出 UPN(User Principal Name,用户主体名称)

dsquery user -name 何星星 -o upn
"hexingxing@hexingxing.cn"

通过姓名查询输出 SAMID(SAM Account,Name SAM 账户名)

dsquery user -name 何星星 -o samid
"hexingxing"

通过姓名查询输出 DN(Distinguished Name,区分名/目录条目的名字)

dsquery user -name 何星星 -o dn
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过 SAMID 查询输出 RDN(Relative Distinguished Name,可分辨名称)

dsquery user -samid hexingxing -o rdn
"何星星"

通过查询符合关键字为 test 描述字段的用户

dsquery user -desc test
"CN=于小小,OU=西湖,OU=南昌,OU=江西,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过 UPN 查询关键用户

dsquery user -upn hexingxing@hexingxing.cn
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

通过 SAMID 查询关键用户

dsquery user -samid hexing*
"CN=何星星,OU=高级运维组,OU=技术部,OU=信息和新技术中心,OU=中国总部,OU=hexingxing,DC=hxx,DC=com"

查询最近 2 周没有活动的用户

dsquery user -inactive 2
"CN=dd,CN=Users,DC=hxx,DC=com"
"CN=www,CN=Users,DC=hxx,DC=com"

查询最近 200 天没有修改密码的用户

dsquery user -stalepwd 200
"CN=Exchange Online-ApplicationAccount,CN=Users,DC=hxx,DC=com"
"CN=Guest,CN=Users,DC=hxx,DC=com"
"CN=ASPNET,CN=Users,DC=hxx,DC=com"

查询已禁用的用户

dsquery user -disabled
"CN=Exchange Online-ApplicationAccount,CN=Users,DC=hxx,DC=com"
"CN=SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c},CN=Users,DC=hxx,DC=com"
"CN=Guest,CN=Users,DC=hxx,DC=com"
"CN=krbtgt,CN=Users,DC=hxx,DC=com"
"CN=SUPPORT_388945a0,CN=Users,DC=hxx,DC=com"

查询并显示所有姓 “张” 的用户,未加 -limit 0 命令默认显示前 100 个条目

dsquery user -name 张*
...

导出姓 “张” 的前 10 位用户并输出到 C 盘桌面目录保存为 data.txt 文件

dsquery user -name 张* -limit 0 >C:\Users\hexingxing.HXX\Desktop\data.txt

重置密码

dsmod user "CN=何逸轩,OU=朝阳,OU=北京,OU=华北分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com" -pwd A1b2C3d4 -mustchpwd yes

显示指定域组成员名单

Get-ADGroupMember -Identity "中国总部_上海研发组" -Recursive | Get-ADUser -Properties Mail | Select-Object Name,Mail

Name   Mail
----   ----
徐丹   xudan@hexingxing.cn
曾蕾   zenglei@hexingxing.cn
余刚   yugang@hexingxing.cn
彭华   penghua@hexingxing.cn
王博   wangbo@hexingxing.cn
卢嘉希 lujiaxi@hexingxing.cn
谭美玲 tanmeiling@hexingxing.cn
李红伟 lihongwei@hexingxing.cn
陈月   chenyue@hexingxing.cn

导出指定域组成员名单

Get-ADGroupMember -Identity "中国总部所有人员" -Recursive | Get-ADUser -Properties Mail | Select-Object Name,Mail >C:\Users\hexingxing.HXX\Desktop\data.txt

获取组成员详细信息

Get-ADGroupMember -Identity "中国总部所有人员"

搜索密码永不过期的账号

Search-ADAccount -PasswordNeverExpires

AccountExpirationDate :
DistinguishedName     : CN=Administrator,CN=Users,DC=hxx,DC=com
Enabled               : True
LastLogonDate         : 2019/7/25 17:28:58
LockedOut             : False
Name                  : Administrator
ObjectClass           : user
ObjectGUID            : b32db757-2d18-4715-91d4-6ca2a97ee662
PasswordExpired       : False
PasswordNeverExpires  : True
SamAccountName        : Administrator
SID                   : S-1-5-21-5792920-1990643082-3676145756-500
UserPrincipalName     : Administrator@hxx.com

查询已禁用的 AD 账号、计算机、服务账号

Search-ADAccount -AccountDisabled


AccountExpirationDate :
DistinguishedName     : CN=krbtgt,CN=Users,DC=hxx,DC=com
Enabled               : False
LastLogonDate         :
LockedOut             : False
Name                  : krbtgt
ObjectClass           : user
ObjectGUID            : b762e82c-e231-4364-a9f2-db79e8a3061d
PasswordExpired       : True
PasswordNeverExpires  : False
SamAccountName        : krbtgt
SID                   : S-1-5-21-1306548705-3882769175-3968532004-502
UserPrincipalName     :

AccountExpirationDate :
DistinguishedName     : CN=王海星,OU=芙蓉,OU=长沙,OU=湖南,OU=华南分部,OU=中国总部,OU=hexingxing,DC=hxx,DC=com
Enabled               : False
LastLogonDate         :
LockedOut             : False
Name                  : 王海星
ObjectClass           : user
ObjectGUID            : 0aa08423-3e62-4b0e-9b0f-cd0a7185afb1
PasswordExpired       : True
PasswordNeverExpires  : False
SamAccountName        : whx
SID                   : S-1-5-21-1306548705-3882769175-3968532004-2727
UserPrincipalName     : whx@hexingxing.cn

仅搜索已禁用的 AD 账户

Search-ADAccount -AccountDisabled -UsersOnly

仅搜索已禁用的计算机账号

Search-ADAccount -AccountDisabled -ComputersOnly

搜索已过期的 AD 账号、计算机、服务账号

Search-ADAccount -AccountExpired

何星星原创文章仅用于个人学习,当前页面暂不支持复制操作,了解详情或文章转载请 点此 继续!

4 条评论

· 2023年11月8日 10:34

可以查询哪些用户允许登录到我某台电脑吗?(我设置了用户登录到电脑)

    何星星 · 2023年11月8日 14:13

    如果是客户机本地查询,可以在目标电脑的 C:\Users 位置查看,里面显示的包括本地账户与域账户;
    如果是远程服务器查询,这必定是需要一系列的 PowerShell 脚本来根据需求编写,你可以自行在互联网搜索与测试。

a · 2021年1月22日 11:28

为啥不用 get-aduser

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注