邮件服务器-邮件系统-邮件技术论坛(BBS)

标题: AD,Exchange属性批量更改的利器lLog Parser 2.2 [打印本页]

作者: oneway1    时间: 2007-3-16 19:14
标题: AD,Exchange属性批量更改的利器lLog Parser 2.2
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
<LPBODY>
dn: %FIELD_3%
changetype: modify
replace: displayname
displayname: %FIELD_4%
-
</LPBODY>

(注意,最后两行的减号和空行是必须的,这是分割标志。%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



[ 本帖最后由 oneway1 于 2007-3-16 19:15 编辑 ]
作者: oneway1    时间: 2007-3-19 09:57
自己顶一下吧
作者: 砸锅卖铁    时间: 2007-3-19 10:42
帮你顶一下
作者: atong999888    时间: 2007-3-19 11:50
LZ辛苦了!
作者: oneway1    时间: 2007-3-19 12:21
谢谢两位版主支持。

网上关于csv转ldf的资料很少,所以觉得有必要写一下。当用户数达到一定规模后,批量更改信息就显得重要了。比如机构重组后,exchange的GAL信息修改就很麻烦。

用以上方法,稍作修改,可以实现使用脚本,修改AD信息。
作者: 钉子    时间: 2007-3-23 03:24
不错,加精华好了.
作者: leon    时间: 2007-3-25 20:32
不太敢用在生产环境,路过看看
作者: oneway1    时间: 2007-3-26 14:39
如果要修改上千个人的属性,不用也得用。
作者: dainh    时间: 2007-3-27 14:39
大家也可以试试ADModify.Net
作者: mikean    时间: 2007-4-2 08:58
我一致就在用ADModify.Net
作者: jhonlone    时间: 2008-1-18 13:37
不错,学习下
作者: pater    时间: 2008-1-18 16:55
頂一下。。。努力




欢迎光临 邮件服务器-邮件系统-邮件技术论坛(BBS) (http://5dmail.net/bbs/) Powered by Discuz! X3.2