用C#在域中增加用户和邮箱

        public int CreatUser(string loginname)
        {
            string p_strDomainLoginName="admin";
            string p_strDomainLoginPassword="";
            string p_strDomainName="myweb.com";
            string p_strDCName="DC=myweb,DC=com";
            string p_strServerName="myweb";
            int ReturnValue;

            CDO.PersonClass pcUser;
            CDOEXM.IMailboxStore MailBox;
            string strLDAP="LDAP://" + p_strDomainName + "/CN=" + loginname + ",CN=users," + p_strDCName;
            string strHomeMDBURL="LDAP://" + p_strDomainName + "/CN=Mailbox Store (" + p_strServerName + ")," +
                                "CN=First Storage Group,CN=InformationStore," +
                                "CN=" + p_strServerName + ",CN=Servers,CN=First Administrative Group," +
                                "CN=Administrative Groups,CN=First Organization," +
                                "CN=Microsoft Exchange,CN=Services,CN=Configuration," + p_strDCName;

            if (loginname.Length>0)
            {
                try
                {
                    //增加用户
                    pcUser=new PersonClass();
                    pcUser.FirstName=loginname;
                    pcUser.LastName="";
                    pcUser.Fields["userAccountControl"].Value=66048;            //设置该用户密码永不过期
                    pcUser.Fields["userPrincipalName"].Value=loginname;            //设置用户的登录帐号
                    pcUser.Fields.Update();
                    pcUser.DataSource.SaveTo(strLDAP,null,ADODB.ConnectModeEnum.adModeReadWrite ,
ADODB.RecordCreateOptionsEnum.adCreateOverwrite,ADODB.
RecordOpenOptionsEnum.adOpenSource,p_strDomainLoginName,p_strDomainLoginPassword);

                    //添加邮箱
                    MailBox=(IMailboxStore)pcUser.GetInterface("IMailboxStore");
                    MailBox.CreateMailbox(strHomeMDBURL);

                    pcUser.Email="SMTP:" + loginname + "@" + p_strDomainName;
                    pcUser.Fields["mailnickname"].Value="mailnickname" + loginname;
                    pcUser.Fields.Update();
                    pcUser.DataSource.Save();
                    ReturnValue=1;
                }
                catch
                {
                    ReturnValue=-1;
                }
            }
            else
            {
                ReturnValue=-1;
          
  }
            return ReturnValue;
        }
注意引用CDO和CDOEXM。
欢迎互相交流。

时间: 2024-11-02 15:07:54

用C#在域中增加用户和邮箱的相关文章

如何解决域中普通用户只限于10台客户机加入域的数量问题

在实际应用中,我们会遇到这种情况,我们让客户机加入域的授权帐户会是一个专用的帐户,此帐户一般不受任何权限,因为如果用脚本加入域的话此帐户的信息会写在加入域的脚本中. 但是当使用AD用户尝试加入域的工作站的数量超过"10"时,会出现如下提示:提示已超出此域允许的计算机用户的最大值,请联系统管理员.那么该怎样解决这个问题? 首先在DC上面安装"Support Tools"工具,点击开始--运行,输入"adsiedit.msc",在弹出窗口中展开&qu

Magento在CMS Page中增加用户信息变量

Magento的cms页面和static block页面中可以用一些指示符来得到相应的信息,如{{skin url=".."}} {{media url="..."}}等.  在Mage_Cms_Block_Page类的_toHtml方法中可以找到下面的代码:  $helper = Mage::helper('cms'); $processor = $helper->getPageTemplateProcessor(); $html = $processor-

如何使用 DirectorySearcher 分页提取AD域中用户信息

问题描述 写了一个小程序从AD域中提取用户及组织数据,AD中有80K左右的user,使用DirectorySearcher.FindAll()默认是只扫出1K条数据,如果把PageSize调大了已经又怕出现内存或效率,或服务器限制的问题现有两个问题.1如果服务器限制在一次只能扫描1000条,那我如果继续获取后面第二页的数据需要如何做?2如果我想进行分页查询,一页1000条,我要怎么做? 解决方案 解决方案二:DirectorySearcher.SearchScope=SearchScope.Su

美国专车服务Lyft宣布增加用户资料,解决司机乘客信任问题

新浪科技讯 北京时间3月27日上午消息,美国专车服务Lyft刚刚宣布在应用中增加用户资料,以此解决司机和乘客之间的信任问题,提升服务安全性. Lyft此举不仅可能令乘客和司机的形象更加鲜活,还可以方便他们彼此之间更好地了解.该功能将于下周推出,首先登陆iOS应用,Android应用也会随后增加这项功能.用户可以在其中标注自己的家乡.喜欢的音乐以及其他方便展开沟通的内容.另外,用户还可以自由创建迷你自传,随意添加任何信息. 对司机来说,乘客所作出的评价和评分也将显示在资料中. 用户可以在Lyft中

活动目录中增加一个ubuntu box并进行用户验证

这是一个关于怎样在一个Active Directory domain中增加一个ubuntu box并使用AD进行用户验证的介绍. 软件环境 名称 版本 MS Windows Server http://www.aliyun.com/zixun/aggregation/19058.html">2003 standard sp1 Linux Ubuntu Breezy 5.10 Winbind 3.0.14a-Ubuntu Samba 3.0.14a-Ubuntu krb5- user 1.3

ubuntu中怎么给为vsftpd增加用户

1.建立本地虚拟用户 代码:  代码如下 复制代码 useradd -d /opt/ftp-server Crazycen     #新建Crazycen用户,指定主目录为/opt/ftp-server mkdir /opt/ftp-server Crazycen 2.查看所有用户  代码如下 复制代码 cat /etc/shadow 3.修改密码  代码如下 复制代码 # passwd root New UNIX password: Retype new UNIX password: pass

FreeBSD用户管理之增加用户

为了使用多用户的FreeBSD操作系统,必须是系统的登记用户.用户信息保存在/etc目录下passwd 文件中,在这个文件中定义的一个FreeBSD用户应具有以下属性: 用户名(Username):在系统中使用这个用户名来标识用户,每个用户名不超过8个字符,且是大小写敏感的.习惯上用户名只使用小写字母,通常根据用户真实名字的缩写来选择合适的用户名. 用户标识号(User ID):由于计算机中处理数字比处理字符串更容易,因而使用数字方式的用户标识号来区分不同用户更为适合.事实上Unix系统就是使用

AD域中成员服务器SQL 2008 Server安装配置图文教程_mssql2008

测试环境: dc01 DC服务器cndb02 域中成员服务器用于安装sql server 第一步:为sql服务和sql管理员增加用户 服务启动帐户sqlsvc 密码:liy6$Z92SQL管理员用户sqladmin 密码:K3$f0z6  密码可自行设定,这里为了符合AD域的密码策略. 第二步:以本地管理员身份登录cndb02进行程序安装 插入安装光盘后,自动安装sql所需的系统组件 按要求重启服务器登录后,双击安装光盘开始安装 打开系统配置检查器打开全新SQL Server独立安装输入序列号接

在ASP中过滤用户输入 提高安全性

安全|安全性|安全|安全性 安全对于所有应用程序来说都是十分重要的.一个简单应用程序里的某个失误都会造成对数据库或者其他企业资源未经授权的访问,因此安全尤其重要.一种常用的攻击方法是将命令嵌入到用户的回应里,而从用户输入里过滤掉这些非法的字符就能够防止这种攻击. 允许用户输入非法的字符会增加用户导致问题的机会.例如,很多应用程序都能够接受用户在SQL命令里增加的WHERE子句.恶意用户会通过向其输入的信息里增加额外命令的方法,来执行数据库服务器上的代码.例如,他们不是输入"Smith"