adadmin 命令是用于管理 Windows Active Directory(活动目录)的实用工具,主要面向系统管理员执行批量操作、查询目录信息及自动化任务。 它并非Windows内置命令,而是第三方工具(如 ADAdmin 或类似管理套件的一部分),需单独安装,以下以典型场景为例说明其核心用法:
- 需 .NET Framework 4.5+ 支持。
- 以域管理员账户执行(避免权限不足错误)。
- 基础语法结构
adadmin [操作类型] [对象类型] [参数] [选项]
操作类型
:get
(查询)、set
(修改)、add
(添加)、remove
(删除)。对象类型
:user
、group
、computer
、ou
(组织单位)等。
常用操作示例
场景1:查询用户信息
adadmin get user "cn=张三,ou=技术部,dc=example,dc=com" -attr displayName mail
- 说明:
查询用户 “张三” 的显示名称(displayName
)和邮箱(mail
)属性。 - 关键参数:
-attr
指定返回的属性列表,多属性用空格分隔。
场景2:批量修改用户属性
adadmin set user "ou=销售部,dc=example,dc=com" -attr department "Sales" -confirm
- 说明:
将 “销售部” OU 下所有用户的department
属性设置为 “Sales”。 - 安全选项:
-confirm
要求确认每个操作(避免误操作)。
场景3:创建新组织单位(OU)
adadmin add ou "ou=新部门,dc=example,dc=com" -attr description "2025年新增部门"
- 说明:
在域根目录创建名为 “新部门” 的 OU,并添加描述信息。 - 注意:路径需符合 LDAP 命名规范。
场景4:将用户移出组
adadmin remove user "cn=李四,ou=财务部,dc=example,dc=com" from "cn=审计组,ou=安全组,dc=example,dc=com"
- 说明:
将用户 “李四” 从 “审计组” 中移除。
高级功能
批量导入/导出数据
adadmin export users "ou=市场部,dc=example,dc=com" -file "C:\users.csv" -format csv
- 导出 “市场部” 所有用户数据到 CSV 文件,支持格式:
csv
、xml
、json
。
执行LDAP查询
adadmin query "(&(objectClass=user)(telephoneNumber=*))" -scope subtree -attr name telephoneNumber
- 查找所有包含电话号码的用户,返回姓名和电话。
自动化密码重置
adadmin set user "cn=王五,ou=IT部,dc=example,dc=com" -attr userPassword "NewP@ssw0rd!" -force
- 强制选项:
-force
跳过密码策略检查(慎用)。
安全与最佳实践
- 权限最小化
使用专用管理账户,避免直接使用域管理员执行日常操作。 - 操作前备份
关键修改前执行:adadmin export objects "dc=example,dc=com" -file "C:\ADBackup.xml"
- 生产环境测试
新命令先在测试 OU 中验证,确认无误后推广。 - 日志记录
添加-log "C:\action.log"
参数记录操作详情,便于审计。
常见错误处理
错误提示 | 原因 | 解决方案 |
---|---|---|
Error: Access Denied |
账户权限不足 | 以域管理员身份运行 |
Invalid DN syntax |
对象路径格式错误 | 检查 OU/CN 的 LDAP 命名 |
Attribute not found |
对象不存在或属性名拼写错误 | 用 adadmin get schema 验证属性 |
Connection timeout |
域控制器不可达 | 检查网络及域控制器状态 |
引用说明
本文示例基于 ManageEngine ADManager Plus 的
adadmin
命令行工具,具体参数请以官方文档为准,其他第三方工具(如 Quest AD cmdlets)语法可能略有差异。
Active Directory 是 Microsoft Corporation 的注册商标,使用前请确保符合企业合规政策。
重要提示:执行目录修改操作前,务必在非生产环境测试!误操作可能导致域服务中断或数据丢失,建议结合 PowerShell AD 模块(Get-ADUser
、Set-ADObject
等)实现更细粒度控制。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/6651.html