log parser
csvde
优点:输出是csv格式的文件,可以很方便的在excel和或access中进行替换编辑。
缺点:csvde对ad的import功能很弱,只能通过该命令添加新账户,不能进行批量修改和删除。
优点:输入和输出功能很强,可以完成所有对ad属性的操作。
缺点:输出生成ldf文件,该文件是非结构化的格式,只能在字符处理软件里面进行简单的查找,替换。而且只只能更改对用户名为英文的属性。
但是,我们可以通过log parser将csv文件转换为ldf文件,这样就可以随心所欲的更改ad和exchange属性。
首先通过csvde命令导出ad用户属性,例如:csvde -d “ou=INFR,dc=console,dc=com” -r objectclass=user -l "displayname" -u -f import.csv
import.csv 内容为:
DN,displayName
"CN=kevin,OU=INFR,DC=console,DC=com",Kevin
"CN=susan,OU=INFR,DC=console,DC=com",Susan
"CN=chris,OU=INFR,DC=console,DC=com",Chris
"CN=zywang,OU=INFR,DC=console,DC=com",Adam
更改csv文件为:
"CN=kevin,OU=INFR,DC=console,DC=com",Kevin Sun
"CN=susan,OU=INFR,DC=console,DC=com",Susan Zhao
"CN=chris,OU=INFR,DC=console,DC=com",Chris Han
"CN=zywang,OU=INFR,DC=console,DC=com",Adam Wang
制作tpl模板template.tpl
dn: %FIELD_3%
changetype: modify
replace: displayname
displayname: %FIELD_4%
-
(注意:最后两行的减号和空行是必须的,作为分割标志。%FIELD_3%代表csv文件的第一列,以此类推,不知道为什么从3开始。)
logparser “select * into out.ldf from import.csv” -o:TPL -tpl:template.tpl
该命令缺省状态下会忽略csv文件第一行,认为是csv的header
生成的out.ldf文件,内容如下:
dn: CN=kevin,OU=INFR,DC=console,DC=com
changetype: modify
replace: displayname
displayname: Kevin Sun
-
dn: CN=susan,OU=INFR,DC=console,DC=com
changetype: modify
replace: displayname
displayname: Susan Zhao
-
dn: CN=chris,OU=INFR,DC=console,DC=com
changetype: modify
replace: displayname
displayname: Chris Han
-
dn: CN=zywang,OU=INFR,DC=console,DC=com
changetype: modify
replace: displayname
displayname: Adam Wang
-
这是我们所需要的ldf文件,最后运行导入命令:
ldifde -i -f out.ldf -k -j c:\
最后关键的一点在于,所有ldf属性必须包含有效值,否则ldifde会报错,通常一次修改多个属性可能出现这样的问题。在处理csv文件的时候要考虑到。
阅读(754) | 评论(0) | 转发(0) |