我的一亩三分地 我就喜欢!
13fen  设为主页
 收藏本站
 
当前位置: > 一亩三分地:首页 > 网络学院 > 网络编程 > ASP专区 > Asp客户端/系统 > 用ASP代码创建EXCHANGE2000用户(续)
热门文章排行
热门文章排行 手推车”功能的实现(10-07)
八大法则防范ASP网站漏洞(10-23)
ASP教程十一、调试ASP脚本(10-23)
在JSP中访问数据库大全(10-23)
虚机服务中常见Asp.Net低级错误一览(03-21)
精采文章排行
精采文章排行 ASP.NET实现抓取网页中的链接(11-15)
ASP连接数据库的11种方法(11-10)
如何动态创建网页的RSS内容摘要(11-10)
ASP网站漏洞及入侵防范方法(11-10)
ASP自定义函数:对字符串正则替换(11-10)
技术专题推荐
网管论坛交流
 

用ASP代码创建EXCHANGE2000用户(续) 

作者:佚名   来源:一亩三分地   点击:   日期:2007-03-23

前段时间写出一个程序,只是不完善,不能判断是否存在该用户,现在补充查找功能。
代码不足之处,希不吝指教!
完整代码如下:

<%@ Language=VBScript  codepage="936"%>
<% Option Explicit %>
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<META NAME="GENERATOR" Content="Microsoft Visual Studio 7.0">
</HEAD>
<BODY>
<%
'程序目的:创建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
    '查询语句:语法:要找什么,即查找基(<LDAP://DC=program,DC=org>);
    '在目录的什么地方找(&(objectCategory=person)(sAMAccountName=用户
    '名))(用户为?的用户;找到对象的属性(sAMAccount,ADsPath)(用户名,
    'LDAP地址);查找的范围(subTree:查找搜索基以下的整个子树中)。例句
    '就是下面这句.
    '具体细节请参看《ASP3高级编程》P644,机械工业出版社(好象精华区内
    '有这本书的电子文档,这本本书真的不错,值得购买)
    
    strQuery = "<LDAP://DC=program,DC=org>;(&(objectCategory=person)" & _
                "(sAMAccountName=" & Request.Form ("txtUserName") & "));" & _
                "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=" & emailname
        '下面这语个IF语句没多少价值。 :)
        if Request.Form ("txtTruename") <> "" then
            LastName = "sky"
            FirstName = "Word"
        else
            LastName = "Last"
            FirstName = "Name"        
        end if
    
        '打开对象
        Set objContainer = GetObject("LDAP://" & ServerName & "/OU=China.org," & DomainName)
        
        '创建帐号
        Set objUser = objContainer.Create("User", recip)
        objUser.Put "samAccountName", emailname         &nbs

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·ASP中巧用Response属性 ·第六课:ASP脚本循环语句
·在 Web 页上使用条件数值格式 ·连接数据库查询手册(不仅仅适用于asp)
·警惕"给你的FileSystemObject对象加把锁" ·用ASP做全文检索

   文章评论:(条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:一分  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。