概览
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
星星 · 2021年10月6日 17:26
https://hexingxing.cn/get-aduser/