使用 csvde 在 AD 中批量导入导出用户(Dynamic CRM)

注:该命令无法导出、导入用户的密码

导出命令(请根据实际组织修改查询命令):

csvde -f user.csv -d "OU=orgname,DC=companyname,DC=com" -r "(objectClass=user)" -l "DN,objectClass,cn,sn,givenName,displayName,name,userAccountControl,sAMAccountName,userPrincipalName"

导入命令:

 csvde -i -f user.csv

CSV 处理注意事项:

1、在 2: 无效语法 行添加出错,服务器边的错误为 "参数错误。"

清理 csv 中无用的属性列

2、读取属性表出错

检查末尾是否有空白列(最后不应该是逗号)

3、服务器边的错误为 "无法更新密码。为新密码提供的值不符合字符域的长度、复杂性或历史要求。"

因为 csvde 无法为用户设置密码,故需将 userAccountControl 列设为 514(禁用的账户)

其它可能的值见下图

4、服务器边的错误为 "指定的帐户已存在。"

已存在同名账户,在 csv 中删除即可

更多参考:https://blog.csdn.net/wulala112233/article/details/130340841

https://www.computerperformance.co.uk/logon/csvde-errors/

https://blog.csdn.net/qq_33997198/article/details/106336645

后续批处理:

# 取消登陆时必须修改密码,设置密码永不过期
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=orgname,DC=companyname,DC=com" | Set-ADUser -ChangePasswordAtLogon $false -PasswordNeverExpires $true

# 设置密码
$password = ConvertTo-SecureString -AsPlainText NewPassword123 -Force
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=orgname,DC=companyname,DC=com" | Set-ADAccountPassword -Reset -NewPassword ($password)

# 启用用户
Get-ADUser -Filter 'Name -like "*"' -SearchBase "OU=orgname,DC=companyname,DC=com" | Enable-ADAccount

参考:

https://learn.microsoft.com/zh-cn/powershell/module/activedirectory/enable-adaccount?view=windowsserver2019-ps

https://blog.51cto.com/jiushu/1664283

posted @ 2024-02-27 14:35  不是豆豆  阅读(324)  评论(0编辑  收藏  举报
友情链接:迷途