百度空间 | 百度首页 
 
查看文章
 
批量修改ad帐户属性
2009-08-03 19:17
Log parser 2.2是微软一款免费的命令行方式日志分析工具。他可用对各种日志文件使用SQL语句进行查询,同时按照指定格式输出。那怎么会和属性批量更改有关呢?各位耐心往下看。

目前,对AD的LDAP进行批量操作的命令有两个CSVDE和LDIFDE两个命令。这两个命令用法基本差不多,实际使用下来各有优缺点。

CSVDE
优点:输出是CSV格式的文件,可以很方便地在excel 或access 中进行替换,编辑。
缺点:CSVDE对AD的import功能很弱,只能通过该命令添加新用户,不能批量修改,删除。

LDIFDE
优点:输入输出的功能很强,可以完成所有对AD属性的操作。
缺点:输出生成LDF文件,该文件是非结构化的格式,只能在字符处理软件里面进行一些简单的查找,替换。而且只能更改对用户名为英文的属性!

如果有一种软件可以把CSV文件转换成LDF文件,那我们就可以随心所欲地批量更改AD和Exchange的属性。这个工具就是log parser 2.2 。

假定你已经用CSVDE导出了CSV文件,并做了修改如下,文件名import.csv:
dn,displayname
"CN=Zhang Shan,OU=External Users,DC=company,DC=com","Zhang, Shan(CN)"
"CN=li si,OU=External Users,DC=company,DC=com","Li, Si(CN)"

现在你想将这些更改写回AD。

首先,用notepad写一个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=Zhang Shan,OU=External Users,DC=company,DC=com
changetype: modify
replace: displayname
displayname: Zhang, Shan(CN)
-

dn: CN=li si,OU=External Users,DC=company,DC=com
changetype: modify
replace: displayname
displayname: Li, Si(CN)
-


这就是我们需要的ldf文件。

最后,运行如下命令:

ldifde -i -f out.ldf -k -j c:\



最关键一点,所有ldf属性必须包含有效值,否则ldifde会报错。通常一次修改多个属性,可能会出现这个问题。如果ldf文件中包含如下记录,ldifde导入会出错。在处理CSV文件的时候就要考虑这点。

dn: CN=li si,OU=External Users,DC=company,DC=com
changetype: modify
replace: displayname
displayname:
-

log parser 2.2 下载地址

http://www.microsoft.com/downloads/info.aspx?na=90&p=&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=890cd06b-abf8-4c25-91b2-f8d975cf8c07&u=http%3a%2f%2fdownload.microsoft.com%2fdownload%2ff%2ff%2f1%2fff1819f9-f702-48a5-bbc7-c9656bc74de8%2fLogParser.msi

类别:计算机网络 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu