转贴自:http://bbs.winos.cn/viewthread.php?tid=36194&pid=189321&page=1&extra=page%3D1#pid189321
扩展你的OCS,让OC加入修改密码功能
先看张截图吧

其实就是在OC客户端的PC注册表里加入一条注册信息
不止是扩展这一个Web标签, 可根据自己的需求最高扩展32个, 图中我扩展了两个
恩 简单的OC扩展应用, 域管理员可以使用策略, 统一为内部PC加入该信息,
可参考http://bbs.winos.cn/thread-36124-1-1.html
外部用户话,给他们个注册脚本 加入该信息
例如:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator]
"TabURL"="http://your website/TabURL.XML"
将以上两行注册信息包存成*.reg 即ok
然后要做的就是写一个 XML文件, 这部分内容微软有官方文档的, 大家可自己搜下, 我就举个我的应用的例子
<?xml version="1.0" encoding="utf-8" ?>
<tabdata>
<tab>
<image>http://your website/pass.png</image>
<name>System</name>
<tooltip>修改密码</tooltip>
<contenturl>http://your website/ADWebPass/</contenturl>
<userid>true</userid>
<contactid>true</contactid>
<accessibility>inside</accessibility>
</tab>
</tabdata>
其中, tab:就是标签(最多可加入32个)
image: 标签的图片, 只能是png(大小最好设置16×16)
name: 标签的友好名称, 不会显示的, 不用太在乎
tooltip: 鼠标悬停在标签上时的提示信息
contenturl: web 标签页面的URL
userid: 链接标签页面时, 是否带上usrid 参数(当前用户SIP:URI) 默认:false 例如http://website/index.htm?userid=zzylscy@domain.com
contactid :链接标签页面时, 是否带上联系人的 contactid 参数(联系人的SIP:URI) 默认:false
accessibility: 用户在企业内部或者外部登录时, 该标签是否显示: inside:仅在内部登录时显示 outside:仅在外部登录时显示 both:都显示
依葫芦画瓢, 要添加多个标签, 就再加入<tab>...</tab>
然后就是你怎么发布问题啦, 三种方式, http;https;文件共享。 要做到企业统一和安全方面就考虑https啦
到这里, 哈哈 基本搞定了
最后简单的介绍一下, 我做的OC修改密码的集成
因为Tab标签的实质就是链接到一个web站点, 那我们就给参数contenturl加入一个 url链接
有以下几种方式可帮助你建立一个 web 的AD用户密码修改站点
首先, 该站点肯定要是一台加入域的服务器
方案1: 要求, 企业中必须有Exchange 2007并部署客户端访问角色
然后添加这个链接 https://your website/owa/?ae=Options&t=ChangePassword
好处 直接利用企业资源
不足, 一般情况还要先登录,登录后再修改(当然这点你可用ISA等 做个单点登录啦)
方案2:
你企业没有Exchange,不要紧
用iisadmpwd, 或使用我提供的ADWebPass(ASP.NET版)(1楼有介绍)
部署在你企业的站点, 然后设置contenturl
好处 不需要二次登陆
最后就ok啦 哈哈
看起来复杂,不过完成起来也就半个小时

ADChangePass
简单的说 就是提供一个网站,这个网站用来让AD域用户,自己修改自己密码的
跟iisadmpwd功能一样, 只是将 asp 版做成 aspx 版, 加了个用户测试功能,在其它域电脑上不需注册DLL组件, 可以测试用户是正常还是禁用等状态
自己学习测试用的, 方便域用户自己修改自己的密码
并且以添加对OC Sip帐户的获取, 会自动在用户名框显示从OC连过来的用户名
建立个虚拟目录ADWebPass(自己随便起吧), 浏览 ok 完成 - 访问成功
建议走https 也就是443端口, 简单的界面,简单的操作
相对于asp版的,不用注册控件或DLL,不过服务器需要 Framework 2.0
这样用户可以通过网站在任何地方修改自己的密码
使用请先运行ConfigSet.exe设置自己的域信息
ADWebPass.rar (162.26 KB)