设为首页 收藏本站
查看: 860|回复: 0

[经验分享] Exchange编程学习实例1--定期删除管理员邮件 vbs

[复制链接]

尚未签到

发表于 2015-9-10 13:53:09 | 显示全部楼层 |阅读模式
  需要些一个从外部控制exchange邮件的程序。程序的目的是将管理员的邮件定期删除,保留一定时间的邮件再邮箱内。
下面写一下我的编程学习过程和需要注意的问题。
这个东西说实话我是从0开始学起,以前没有做过相应的exchange编程。
1、账号纪录的获得:
公司的邮件比较特殊,主域服务器在国内,而另外一个服务器在新加坡。2个服务器都有exchange服务器。用的是同一个域名。而管理员的账号在国外。
开始我再本机作测试,返回错误信息,原因很快明白,必须要在exchange服务器上运行才能建立ExOLEDB.DataSource。
于是开始将测试脚本放到国内的服务器上,错误信息为服务器上没有相应的账号。于是找另一个国内账号来测试,成功。
下面开始取得账号内邮件的数目。cItems = Rs.RecordCount,成功
当我是用纪录集作循环的时候,问题出现了:rs.movenext不能使用,错误报告为:bookmark is invalid.但是movefirst和movelast都能后适用。查找了相关的资料,明白是服务器是2000使用的ado版本比较低而且有bug需要升级。天呢!!!!这个我可不好办了!于是继续索索方案,功夫不负有心人,有帖告诉我可以使用rs.move 1,0来代替。ok成功!
当我到新加坡的服务器上测试另外一个账号的时候,提示没有权限,于是将全县提高。成功!
2、记录的查询
取得第一个查询纪录的某个字段。失败。我是用了“select * from ........”,该换了具体字段的时候"SELECT ""urn:schemas:httpmail:datereceived"",""DAV:displayname"" FROM scope('shallow traversal of " & Chr(34) & sURL & Chr(34) & "') "才成功。不知道这个错误是否分析正确。
查询时间的时候注意要使用cast
注意时间的格式一定要正确,“1998-02-01T10:00“做好字符串的组合还有调整系统时间的格式。
3、记录的删除
使用rs.delete 1来做删除(后文又另一种方法)
4、账号的地址
2种格式
sUrl="file://./backofficestorage/urserver.com.cn/MBX/administrator/Inbox"
sUrl="http://server/exchange/administrator/inbox"
5、删的比较爽,彻底的删除,不进回收站的!!!


给出源代码供大家参考指正。

sUrl="file://./backofficestorage/urserver.com.cn/MBX/administrator/Inbox"

Dim sFolderUrl
Dim sQuery

mytime = DateAdd("ww", -1, Date)  ’ 保留一个星期
  mytime=mytime&"T00:00:00Z" ‘注意必须使用这种格式,里面有个T,调整一下系统的时间格式

DateRng = " < CAST("""&mytime&""" as 'dateTime')" &#8216;注意使用cast转换


Dim Conn
Set Conn = CreateObject("ADODB.Connection")
Conn.Provider = "ExOLEDB.DataSource"
Conn.Open sUrl
sQuery = "SELECT ""urn:schemas:httpmail:datereceived"",""DAV:displayname"" FROM scope('shallow traversal of " & Chr(34) & sURL & Chr(34) & "') "
squery = squery & "WHERE ""urn:schemas:httpmail:datereceived"" " & DateRng
  Set Rs = CreateObject("ADODB.Recordset")
  Rs.Open sQuery, Conn

cItems = Rs.RecordCount

do while not rs.eof
  'wscript.echo Rs.fields("urn:schemas:httpmail:datereceived").value & Rs.fields("DAV:displayname").value

rs.Delete 1
rs.movenext

loop

参考:
http://mint.cnblogs.com/articles/396402.html
http://mint.cnblogs.com/articles/396397.html

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-112018-1-1.html 上篇帖子: 浅谈Exchange 2013开发-如何操作邮件的附件 下篇帖子: 手动卸载Exchange Server 2003
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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