首页/系统/Windows 运维速查/dsget user 读取用户属性

dsget user 读取用户属性

把 DN 送进 dsget 读出账号明细:显示名、部门、电话、邮件、禁用状态;排障与信息核对常用。

Windows 运维速查系统更新于 2026-10-13

dsget user 是干什么的

dsget 是 AD 命令行工具集(dsquery/dsget/dsrm 等)里负责“读属性”的那一个。它接收一个或多个对象的 DN,输出显示名、部门、电话、邮箱、是否禁用等常用属性。它最大的优点是随 Windows 一起提供、在域内任意机器上都能跑,不需要额外安装管理工具模块;缺点是输出为纯文本,做批量审计远不如 Get-ADUser 方便。

基本信息

适用平台Windows Server(AD DS 角色)与装 RSAT 的客户端
语法dsget user <DN...> [-display -dept -email -disabled -samid -upn -tel -office]
配合使用与 dsquery 管道组合:dsquery user ... | dsget user ...
身份要求域用户可读基本属性,部分属性需足够权限

典型使用场景

  • 工单核对:拿到 DN 后确认账号的显示名、部门与是否禁用
  • 禁用户核查:批量确认离职账号是否真的已被禁用
  • 属性缺失排查:同步到其他系统时发现部门或邮箱为空
  • 无 PowerShell 模块环境下临时查属性:老服务器上最省事的办法
  • 与 dsquery 组合做筛选:先按条件查出一批 DN,再逐个读属性

常用示例

常用示例
:: 读取指定用户的常用属性
REM 注意:DN 含空格时必须整体加引号
dsget user "CN=Zhang San,OU=Sales,DC=corp,DC=local" -display -dept -disabled
:: 与 dsquery 组合:先查再读
dsquery user -samid ops01 | dsget user -display -email -disabled -dept
:: 查一批久未登录且已禁用的账号
dsquery user -disabled -inactive 26 -limit 0 | dsget user -samid -disabled -display
:: 属性名用 dsget 的短开关,而不是 LDAP 属性名
dsquery user -name Zhang* | dsget user -display -upn -tel

常用开关

开关读出的属性常见用途
-display显示名核对中文姓名与工号映射
-dept部门组织架构核对
-email邮箱地址邮件系统对账
-disabled是否禁用离职账号核查
-samid账户名与系统登录名对应
-upn用户主体名称登录名与邮件地址一致性检查
DN 里最常见的是逗号与空格:CN=Zhang San,OU=Sales 必须整体用引号包起来,否则命令会把空格当成参数分隔符。DN 写错时报“找不到对象”,先拿 dsquery 反查确认。
一次传多个 DN 时输出会逐行合并展示,人工核对很容易串行错位。要批量导出时改用 Get-ADUser -Properties * | Export-Csv,字段对齐且便于后续处理。
dsget 输出的联系电话、邮箱等属于个人信息,导出后按个人信息保护要求存放与传递,别直接贴进公共群或外部工单系统。

易错点

  • DN 忘记加引号:含空格的名字被拆成多个参数,报错信息也不直观
  • 用 LDAP 属性名当开关:dsget 用短开关(-display/-dept),写错直接报参数无效
  • 以为一次能读全部属性:dsget 只输出指定的那几项,要全量属性得用其他工具
  • 在未安装 RSAT 的客户端上找命令:客户端默认没有该工具集,需先安装远程服务器管理工具
  • 把文本输出直接交给程序解析:格式随语言与版本变化,脚本化场景应改用 Get-ADUser

数据来源与参考

  • Microsoft Learn:dsget user

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌