第一次发,windows方面也算是新人。把自己学的东西和做过的一些东西整理一下。先来看看ldifde这个东西。08R2神器,方便快速导入导出修改大批量的用户帐号各种属性。

========================

客户现在有一个需求,就是批量的变更相应的用户姓和名,现在我已经基本上确定造成这个问题的原因是客户在姓和名上是用了中文编码和当前系统编码不统一的问题,如果需要统一的变更用户的姓和名是否有办法?

"CN=? ??,OU=M103,OU=M100,OU=M000,OU=xxxx,DC=xxxx,DC=xxx,DC=xxxx"
"CN=? ??,OU=M303,OU=M300,OU=M000,OU=xxxx,DC=xxxx,DC=xxx,DC=xxxx"

这是一个很普遍的问题,因为有些使用英文版操作系统的在AD里编辑依旧使用的是中文名称,但是当他某天打开AD是出现这个悲剧的情况。。。。。瞬间跪了。。因为英文操作系统默认保存的是UNICODE字符,中文的话要保存为UTF8才可以保证不会出乱码。。。。悲剧大了,现在想要批量修改这个DN。用户很多怎么办,有办法LDIFDE可以解决哦

导出用户账户
========
1.以 Administrator 身份登录 Export 域。如果使用没有管理员特权的帐户登录,则可能无法对 Active Directory 执行导出和导入操作。
2.单击开始,指向程序,指向 附件,然后单击“命令提示符”。
3.在命令提示符下,键入: ldifde -f exportuser.ldf -s testserver1 -d "dc=xxx,dc=xxx" -p subtree -r "(&(objectCategory=person)(objectClass=User)(givenname=*))" -l
"cn,givenName,objectclass,samAccountName"

注意其中testserver1为你要导出的用户账户所在的DC,运行此命令可将该域中所有用户都导出到名为 exportOU.ldf 的文件中,该文件默认保存在%windir%\users\Administrator。
如不清楚导出步骤请参考以下网址
http://support.microsoft.com/kb/237677/zh-cn

修改文件
========
1.使用记事本打开该文件,你会看到类似如下的许多条目:
dn:: Q0495bCP5LiJLE9VPXRlbXAsREM9Y29udG9zbyxEQz1jb20=
changetype: add
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn:: 5bCP5LiJ
givenName:: 5bCP5LiJ
sAMAccountName:: 5bCP5LiJ
该条目就是DN中CN为中文名称的条目

2.因为只是修改DN中的CN所以可以不需要改变其他的属性,将其整个修改为类似如下条目:
dn:: Q0495bCP5LiJLE9VPXRlbXAsREM9Y29udG9zbyxEQz1jb20=
changetype: modrdn
newrdn:CN=abc,OU=xxx,DC=xxx,DC=xxx
deleteoldrdn:1
改得时候注意一定要要知道他所在的位置,因为只是修改DN中的CN,其他位置不能错。改完后保存。
如不清楚请参考如下网址:
http://support.microsoft.com/kb/555124

导入用户账户
=========
1.CMD下输入:ldifde -i -f exportuser.ldf -s testserver1
2.完成之后请在域控上的Active Directory Users and Computers上刷新一下,之后您再查看用户的DN,你就会发现所有的DN都按照您制定字符进行了变更。

 

还有一种不改可以显示的方法,问题是我没有机会测试了,希望有那个看到后可以实验一下。因为我在排查LOG时碰到了中文乱码的情况。解决方法:

控制面板---区域和语言--管理标签--更改系统区域设置,选成中文重启后就可以了