csvde批量导入学生账号需分三步:先建ou结构,再用规范csv(utf-8、引号包裹、useraccountcontrol=514)导入禁用账号,最后用dsmod批量设密启用。
用 csvde 批量导入数千名学生账号,核心是“先建结构、再填数据、最后激活”,不是直接导入就能用。关键在于 csv 文件格式必须严格合规,且要绕过密码策略限制——因为 csvde 本身不支持设密码,所有新账号默认禁用,必须分两步处理:先导入禁用账号,再统一设密并启用。
一、准备规范的 CSV 文件(学生账号专用)
文件必须用英文逗号分隔,UTF-8 编码(避免中文乱码),首行为属性头,后续每行一个学生。必备字段包括:
-
DN:完整可分辨名,如
"CN=张三,OU=2026级,OU=计算机学院,DC=school,DC=edu"(含英文引号,OU 路径需提前在 AD 中建好) -
objectClass:固定填
user -
sAMAccountName:登录账户名(≤20字符,无空格/特殊符号),如
zhangsan2026 -
userPrincipalName:完整登录名,如
zhangsan2026@school.edu -
givenName:名(如
张) -
sn:姓(如
三),可留空但逗号不能省 -
displayName:显示名(如
张三) -
userAccountControl:必须为
514(禁用状态),否则因无密码无法通过域策略校验
示例首两行:
DN,objectClass,sAMAccountName,userPrincipalName,givenName,sn,displayName,userAccountControl"CN=李四,OU=2026级,OU=医学院,DC=school,DC=edu",user,ls2026,ls2026@school.edu,李,四,李四,514
"CN=王五,OU=2026级,OU=文学院,DC=school,DC=edu",user,wu2026,wu2026@school.edu,王,五,王五,514
二、执行导入并验证基础结果
以域管理员身份打开 PowerShell(或 CMD),运行:
csvde -i -f D:\students.csv
成功后会显示“已添加 X 个条目”。此时打开“AD 用户和计算机”,进入对应 OU 查看——所有账号都存在,但图标带红叉(禁用状态)。注意:若报错,常见原因是 DN 路径不存在、逗号格式错误、中文未加引号或字段数不匹配。
使用 qbo-mileage CLI 及用户凭证,从 Airtable、Outlook 或 Google Calendar 记录生成 QuickBooks Online 里程 CSV 文件。
三、批量设置密码并启用账号
CSVDE 不处理密码,需用 dsmod 配合脚本。推荐用 For 循环+文本列表方式,安全可控:
- 新建
userlist.txt,每行一个 sAMAccountName(如ls2026、wu2026) - 执行命令:
for /f %a in (userlist.txt) do dsquery user -samid %a | dsmod user -pwd P@ssw0rd2026! -mustchpwd no -disabled no
说明:-mustchpwd no 允许用户下次登录时不必改密;-disabled no 直接启用账号。若密码需满足复杂度,确保 P@ssw0rd2026! 符合当前域策略(大小写字母+数字+符号+≥8位)。
四、收尾与注意事项
导入完成后建议做三件事:
- 用
dsquery user -limit 0 -ou "OU=2026级,DC=school,DC=edu"核对总数是否匹配 - 抽样测试 2–3 个账号:能否用新密码登录、能否访问网络共享、邮箱是否自动配给(如集成 Exchange)
- 备份该 CSV 文件及执行日志,便于后续补录或审计
特别提醒:不要在生产环境首次运行前跳过小规模测试;OU 结构、DNS 域名、密码策略必须与 CSV 中完全一致;含中文姓名时,务必全字段加英文双引号,避免解析错位。










