ORF反垃圾邮件系统

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

 找回密码
 会员注册
查看: 17488|回复: 11
打印 上一主题 下一主题

[原创] AD,Exchange属性批量更改的利器lLog Parser 2.2

[复制链接]
跳转到指定楼层
顶楼
发表于 2007-3-16 19:14:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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 编辑 ]
沙发
 楼主| 发表于 2007-3-19 09:57:33 | 只看该作者
自己顶一下吧
藤椅
发表于 2007-3-19 10:42:44 | 只看该作者
帮你顶一下
板凳
发表于 2007-3-19 11:50:10 | 只看该作者
LZ辛苦了!
报纸
 楼主| 发表于 2007-3-19 12:21:48 | 只看该作者
谢谢两位版主支持。

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

用以上方法,稍作修改,可以实现使用脚本,修改AD信息。
地板
发表于 2007-3-23 03:24:45 | 只看该作者
不错,加精华好了.
7
发表于 2007-3-25 20:32:57 | 只看该作者
不太敢用在生产环境,路过看看
8
 楼主| 发表于 2007-3-26 14:39:54 | 只看该作者
如果要修改上千个人的属性,不用也得用。
9
发表于 2007-3-27 14:39:17 | 只看该作者
大家也可以试试ADModify.Net
10
发表于 2007-4-2 08:58:33 | 只看该作者
我一致就在用ADModify.Net
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-5-14 23:36

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表