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