首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络安全-> 黑客攻防
用asp代码创建exchange2000用户_exchange server
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
前段时间写出一个程序,只是不完善,不能判断是否存在该用户,现在补充查找功能。
代码不足之处,希不吝指教!
完整代码如下:

<%@ Language=VBScript codepage="936"%>
<% Option Explicit %>






<%
程序目的:创建EXCHANGE 2000 邮箱用户
程序实现方式:首先在AD(ACTIVE DIRECTORY:活动目录)中查找是否有该用
户,如果有则提示用户该名字已经存在,没有则创建该用户,
并为该用户创建邮箱。
程序设计:skyword, skyword@21cn.com
程序日期:2001-06-27
需要注意的问题:程序使用中,应当关注LDAP的不同。并且程序的运行需要比
较主高的运行权限(我使用是管理员权限,呵呵比较不安全,
大家在实际使用中要注意,不然被人窃取了帐号不要怪我。
我也不太会设置),需要在IIS中设置(以前就是因为不了解
,走了不少弯路:) )
另外还有一种方案,查找用户可结合数据库查找,我想大家
会更熟悉一些,只是要记得在初始数据时,要把计算机内所
有的帐号都要记录进数据库,不然就不能准备判断是否该用
户,因为AD只判断是否有该用户,而不管该在什么位置,这
点大家要注意。
程序是中用到一些知识点均加以注释,希望对大家对所帮助
另外需要注意的是帐号名字不能小于2位,而且不能使用中文
名字.

Dim objUser
Dim objContainer
Dim objMailbox
Dim objMail

Dim recipname, recip
Dim ServerName, DomainName, emailname, FirstName, LastName, password

判断用户是否存在
Dim strQuery, objConn, objRs, strResult
查询语句:语法:要找什么,即查找基();
在目录的什么地方找(%26amp;(objectCategory=person)(sAMAccountName=用户
名))(用户为?的用户;找到对象的属性(sAMAccount,ADsPath)(用户名,
LDAP地址);查找的范围(subTree:查找搜索基以下的整个子树中)。例句
就是下面这句.
具体细节请参看《ASP3高级编程》P644,机械工业出版社(好象精华区内
有这本书的电子文档,这本本书真的不错,值得购买)

strQuery = ";(%26amp;(objectCategory=person)" %26amp; _
"(sAMAccountName=" %26amp; Request.Form ("txtUserName") %26amp; "));" %26amp; _
"sAMAccountName,ADsPath;subTree"
打开ADSI
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Provider = "ADsDSOObject"
下面这句是用合法用户打开,不然查找的结果有误,本例中使用管理员帐号
objConn.Open "Active Directory Provider","CN=Administrator, CN=users, DC=program, DC=org","skyword"
查找用户是否存在,不存在则创建用户
Set objRs = Server.CreateObject ("ADODB.Recordset")
objRs.Open strQuery, objConn

if not objRs.EOF then
strResult = False
Response.Write "用户已经存在"
else
创建用户
strResult = True
End if

objRs.Close
Set objRs = Nothing

objConn.Close
Set objConn = Nothing

If strResult = True Then
创建用户的代码

ServerName,DomainName是ADSI需要的LDAP信息,是必需的。
ServerName = "skyword.program.org"
DomainName = "DC=program,DC=org"

emailname = Request.Form ("txtUserName")
password = Request.Form ("txtPassword")
recip = "CN=" %26amp; emailname
下面这语个IF语句没多少价值。 :)
if Request.Form ("txtTruename") <> "" then
LastName = "sky"
FirstName = "Word"
else
LastName = "Last"
FirstName = "Name"
end if

打开对象
Set objContainer = GetObject("LDAP://" %26amp; ServerName %26amp; "/OU=China.org," %26amp; DomainName)

创建帐号
Set objUser = objContainer.Create("User", recip)
objUser.Put "samAccountName", emailname 帐号
objUser.Put "sn", LastName
objUser.Put "givenName", FirstName
objUser.Put "DisplayName", emailname %26amp; "@hina.org" 显示的名字
objUser.Put "mail", emailname %26amp; "@China.org"
objUser.Put "userPrincipalName", emailname %26amp; "@China.org" 用户登录帐号
objUser.SetInfo 写进AD中

objUser.SetPassword password 用户密码
objUser.AccountDisabled = False 帐号生效
objUser.SetInfo 写进AD,一定要,为什么我也不清楚

创建邮箱
Set objMailbox = objUser
下面的LDAP是查出来的,安装不同,LDAP会有所不同。
objMailbox.CreateMailbox "LDAP://skyword.program.org/" %26amp; _
"CN=Mailbox Store (SKYWORD),CN=First Storage Group," %26amp; _
"CN=InformationStore,CN=SKYWORD,CN=Servers," %26amp; _
"CN=First Administrative Group,CN=Administrative Groups," %26amp; _
"CN=ecitye,CN=Microsoft Exchange,CN=Services," %26amp; _
"CN=Configuration,DC=program,DC=org"
objUser.SetInfo

Set objContainer = Nothing
Set objUser = Nothing
Set objMailbox = Nothing
下面是简单的错误处理。
if err <> 0 then
Response.Write "创建用户失败!请重试一次
"
Response.Write " "
Response.Write ""
else
以下是简单的测试
Set objMail = Server.CreateObject ("CDONTS.NewMail")
objMail.Send "Admins@china.org", emailname %26amp; "@china.org", "Welcome", "Welcome use China.org Mail"
set objMail = Nothing

Response.Write emailname %26amp; "用户已经成功创建!!!!" %26amp; "
三秒后导向登录页!"
Response.AddHeader "refresh","3;url=http://mail.china.org"
end if
End If
%>


,

文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·J2EE平台介绍-JSP教程,J2ME开发
·自己制作友好的页面“确认对话框”-ASP教程,ASP应用
·DataAdapter是如何更新数据库数据的?-.NET教程,数据库应用
·jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线-JSP教程,Jsp/Servlet
·企业Java技术开发技巧2则-JSP教程,Java技巧及代码
·刚刚整理好-汉字转拼音缩写的函数-.NET教程,评论及其它
·关于数据返回给调用页面-ASP教程,数据库相关
·如何使用C#压缩文件及注意的问题!-.NET教程,C#语言
·数据库安装程序-.NET教程,数据库应用
·DataGrid的自定义分页UserControl-.NET教程,数据库应用
最新文章
·王通:网站推广的18种秘笈_营销推广
·什么是mfa,以及停止mfa的好处_网赚技巧
·google adsense 域名保护功能是否作恶_网赚技巧
·关于无效点击-adsense团队资深专员如是说_网赚技巧
·google adsense将以人民币支付_站长访谈
·bbmao的神秘配方:打破中文聚类搜索的低迷_站长访谈
·你的网站为什么粘不住流量?_站长心得
·决定网站成败重要的六个因素_站长心得
·widnows vista是吃内存大户 优化vista攻略_windows vista
·首页所应该达到的几个目标(1)_站长心得
相关主题
  • 用asp代码创建exchange2000用户_exchange server
  • 用ASP代码创建EXCHANGE2000用户-网管专栏,邮件服务
  • 用ASP代码创建EXCHANGE2000用户(续)-ASP教程,系统相关
  • 西部数码虚拟主机

    友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 自助建站
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机
    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
    关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
    发表评论 打印  刷新     关闭