为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间.txt

2017-09-18 7页 doc 23KB 48阅读

用户头像

is_337177

暂无简介

举报
C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间.txtC#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间.txt C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间 用户 名: 密码: 登录 注册 涅磐飞升的空间 主页 博客 相册 个人档案 好友 查看文章 C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转) 2010-08-31 23:48 这几天也被CDOEXM狠狠折磨了一把,按照下面MSDN的标准方法,添加鸟对CDOEXM的引用, 而且俺的cdo.dll,cd...
C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间.txt
C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间.txt C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间 用户 名: 密码: 登录 注册 涅磐飞升的空间 主页 博客 相册 个人档案 好友 查看文章 C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转) 2010-08-31 23:48 这几天也被CDOEXM狠狠折磨了一把,按照下面MSDN的标准方法,添加鸟对CDOEXM的引用, 而且俺的cdo.dll,cdoexm.dll都是exchange 2000工作服务器上copy下来的,然后用下面MSDN提供的代码,报错,始终报错,一条道走 到黑的报错~说是: System.Runtime.InteropServices.COMException (0x80072030): 在服务器上没有这样一个 对象。 mailbox = (IMailboxStore)user.NativeObject; mailbox.CreateMailbox(homeMDB); user.CommitChanges(); 我可以确定我的homeMDB扩展属性值绝对不会错,因为那是用微软自家windows系统的vbs 脚本直接导出到文本文件的,vbs脚本如下,后面还要用它导出homeMTA和 msExchHomeServerName strBranchName="OU名1,OU=OU名0,OU=公司OU名" '上面的几层路径的ou下面只有一个有邮箱的user strDC="gdmailclus1" 'IIS服务器名 strDomain="DC=mail,DC=xxxx" 'AD服务器DN strLDAP="" Set oLDAPConn = CreateObject("AdoDB.Connection") oLDAPConn.Provider = "AdsDSOObject" oLDAPConn.open Set oCmd = CreateObject("AdoDB.Command") oCmd.ActiveConnection = oLDAPConn oCmd.CommandText = strLDAP+";(objectCategory=Person);DistinguishedName,mail;SubTree" Set oResult = oCmd.Execute Set fso = Wscript.CreateObject("Scripting.FileSystemObject") Set f = fso.CreateTextFile("C:\Documents and Settings\szadmin\桌面\homeMDB.txt") strGetUser="LDAP://"+strDC+"/"+oResult.Fields(0) Set oUser = GetObject(strGetUser) 'wscript.echo strGetUser+vbcrlf+"name:"+oUser.name+vbcrlf+"sAMAccountName:"+oUser.sAMAccountNa me+vbcrlf+"serverName:"+oUser.serverName+vbcrlf+"Mail:"+oUser.Mail f.WriteLine(oUser.homeMDB) 'wscript.echo oUser.homeMDB 'wscript.echo oUser.homeMTA 'wscript.echo oUser.mailNickName 'wscript.echo oUser.msExchUserAccountControl 'wscript.echo oUser.msExchHomeServerName 'wscript.echo oUser.mDBUseDefaults 'wscript.echo oUser.mail f.close 而且,我又没法在exchange工作服务器上装开发环境,没法调试,只好上网找方法了。后来 在网上终于搜到,原来CDOEXM在C#下就是不好用,有转换那一步出错的,调了VB.net的一 个getobject可方法就ok,也有像我一样的问题的,说是要整个改成VB.net就好了。 天呢,我至此彻底晕倒,对微软的佩服再次上升鸟一层,都是自家的东东能搞成这样。。 幸好后来在一个跟帖里头找到了方法,原来根本不需要CDOEXM这个烂东东就可以完成建 exchange邮箱的工作,直接写几个AD扩展属性就可以鸟,代码如下: user.Properties["homeMDB"].Value=homeMDB; user.Properties["homeMTA"].Value=homeMTA; user.Properties["mailNickName"].Add(dr["UserID"].ToString()); user.Properties["msExchUserAccountControl"].Add(0); user.Properties["msExchHomeServerName"].Add("/o=MAIL001/ou=mailadmin/cn=Configur ation/cn=Servers/cn=Mail-SERVER"); user.Properties["mDBUseDefaults"].Add("TRUE"); user.CommitChanges(); user是一个你找到的DirectoryEntry对象实例,dr是输入的数据集中的一个DataRow homeMDB、homeMTA和msExchHomeServerName可以用上面的vbs脚本从服务器获得,脚本中 的strBranchName改成适合你的 我的这三个参数如下供参考: private string homeMDB = "CN=BE-SG2-MDB1,CN=GDMAIL-SG2,CN=InformationStore,CN=GDMAILEXCH,CN=Servers,CN=第 一个管理组,CN=Administrative Groups,CN=xxxxORG,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=mail,DC=xxxx"; private string homeMTA = "CN=Microsoft MTA,CN=GDMAILEXCH,CN=Servers,CN=第一个管理组,CN=Administrative Groups,CN=xxxxORG,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=mail,DC=xxxx"; private string msExchHomeServerName = "/o=GMCCORG/ou=GDMAILEXAG/cn=Configuration/cn=Servers/cn=GDMAILEXCH"; 试过在我们的工作环境下不能同时写mail属性,会引发约束冲突异常,所以,之后要通过另 外一个vbs脚本批量改下默认邮件地址就可以。 改默认邮件地址的VBS: strBranchName="深圳分公司" strBranchDomain="sz." strAll="gd.xxxx.com" strDC="gdmailclus1" strDomain="DC=mail,DC=xxxx" strLDAP="" Set oLDAPConn = CreateObject("AdoDB.Connection") oLDAPConn.Provider = "AdsDSOObject" oLDAPConn.open Set oCmd = CreateObject("AdoDB.Command") oCmd.ActiveConnection = oLDAPConn oCmd.CommandText = strLDAP+";(objectCategory=Person);DistinguishedName,mail;SubTree" Set oResult = oCmd.Execute wscript.echo oResult.Recordcount while not oResult.EOF strGetUser="LDAP://"+strDC+"/"+oResult.Fields(0) Set oUser = GetObject(strGetUser) 'wscript.echo oUser.name OldMail=oUser.mail If (Len(OldMail)>0) Then OldPrimaryEmail=Join(oUser.proxyAddresses,"!") iNotChange=inStr(OldPrimaryEmail,"SMTP:"+oUser.samAccountName+"@"+strBranchDomain+strAll) If (iNotChange=0) Then OldPrimaryEmail=Replace(OldPrimaryEmail,"SMTP:","smtp:") OldPrimaryEmail=Replace(OldPrimaryEmail,"smtp:"+oUser.samAccountName+"@"+strBranchDomain+strAll,"SMTP:"+oUser.samAccountName+"@"+strBranchDomain+strAll) Newmail=oUser.samAccountName+"@"+strBranchDomain+strAll 'wscript.echo "mail-:"+ NewMail 'wscript.echo "proxy-:"+oldPrimaryEmail strProxy=Split(OldPrimaryEmail,"!") oUser.msExchPoliciesExcluded="{26491CFC-9E50-4857-861B-0CB8DF22B5D7}" ' oUser.msExchPoliciesExcluded=VBNull oUser.Mail=Newmail oUser.ProxyAddresses=strProxy oUser.SetInfo End If End If oResult.MoveNext Wend wscript.echo "done" 上一篇>> c#创建exchange邮箱问题,请教高... 下一篇>> CDOEXM操作(转kaneboy) 类别:asp.net | | 添加到搜藏 | 分享到i 贴吧 | 浏览(474) | 评论 () 网友评论 该篇文章没有任何评论。 发评论 内 容: 取消回复 推荐文章 韩国少女高价卖尿原汁原味价格合理 世界上最著名的菲尔人格测试 把身上的名牌脱掉,你什么都不是 以为洗白张柏芝,自己就不是婊子,
/
本文档为【C#怎样给AD用户建立Exchange邮箱(不用CDOEXM)(转)_涅磐飞升的空间_百度空间.txt】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索