zoukankan      html  css  js  c++  java
  • ADSI管理Windows2003系统帐号

         最近在开发一个虚拟主机管理的软件,需要用到用户权限管理这块,上网找了找资料,发现ADSI这块还不错,好像还有另外的一个新的东西可以实现操作用户帐号的功能,那个以后在研究下吧,操作Window2003用户的代码如下:

    using System;
    using System.DirectoryServices;
    using System.Collections;

    namespace CNVP.FM.IISControlService
    {
        
    /// <summary>
        
    /// 实现在开通IIS站点时候自动对系统帐号进行添加删除操作
        
    /// </summary>

        public class UserManager
        
    {
            
    public UserManager()
            
    {
                
            }

            
    /// <summary>
            
    /// 创建IIS登录帐号
            
    /// </summary>
            
    /// <param name="Accounts">登录帐号</param>
            
    /// <returns></returns>
          
            
    public static bool CreateUser(string Accounts)
            
    {
                
    try
                
    {
                    DirectoryEntry AD 
    = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
                    DirectoryEntry NewUser 
    = AD.Children.Add(Accounts, "user");//增加用户名
                    NewUser.Invoke("SetPassword"new object[] "LanTian123456" });//用户密码
                    NewUser.Invoke("Put"new object[] "FullName", Accounts });//用户全称  
                    NewUser.Invoke("Put"new object[] "Description""太平洋主机管理帐号" });//用户详细描述
                    NewUser.Invoke("Put""PasswordExpired"0);//用户下次登录需更改密码
                    
    //NewUser.Invoke("Put", "UserFlags", 66049);//密码永不过期
                    
    //NewUser.Invoke("Put", "HomeDirectory", Path); //主文件夹路径

                    
    //NewUser.Properties["UserFlags"].Add(0x0002);//禁用登录帐号
                    
    //NewUser.Properties["UserFlags"].Add(0x0040);//用户不能更改密码
                    ArrayList arl = new ArrayList();
                    arl.Add(
    0x0002);
                    arl.Add(
    0x0040);
                    arl.Add(
    0x10000);
                    NewUser.Properties[
    "UserFlags"].Value = arl.ToArray();

                    
    //NewUser.Properties["UserFlags"].Add(0x10000);//用户密码永不到期

                    NewUser.CommitChanges();
                    DirectoryEntry ObjUser
    =AD.Children.Find("Guests""group");
                    
    if (ObjUser.Name != null
                    
    {
                        ObjUser.Invoke(
    "Add"new object[] { NewUser.Path.ToString() }); 
                    }

                    ObjUser.Close();
                    AD.Close();
                    
    return true;
                }

                
    catch
                
    {
                    
    return false;
                }

            }

            
    /// <summary>
            
    /// 修改IIS登录帐号密码
            
    /// </summary>
            
    /// <param name="Accounts">登录帐号</param>
            
    /// <param name="Password">登录密码</param>
            
    /// <returns></returns>

            public static bool EditUser(string Accounts, string Password)
            
    {
                
    try
                
    {
                    DirectoryEntry AD 
    = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
                    DirectoryEntry ObjUser 
    = AD.Children.Find(Accounts, "user");
                    ObjUser.Invoke(
    "SetPassword", Password);
                    ObjUser.CommitChanges();
                    ObjUser.Close();
                    AD.Close();
                    
    return true;
                }

                
    catch
                
    {
                    
    return false;
                }

            }

            
    /// <summary>
            
    /// 删除IIS登录帐号
            
    /// </summary>
            
    /// <param name="Accounts">登录帐号</param>
            
    /// <returns></returns>

            public static bool DelUser(string Accounts)
            
    {
                
    try
                
    {
                    DirectoryEntry AD 
    = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
                    DirectoryEntry ObjUser 
    = AD.Children.Find(Accounts, "user");//找得用户
                    
    //AD.Children.Remove(ObjUser);//删除用户
                    ObjUser.GetType();
                    ObjUser.Close();
                    AD.Close();
                    
    return true;
                }

                
    catch
                
    {
                    
    return false;
                }

            }

        }

    }
  • 相关阅读:
    一款由张鹏老师录制的一周HOLD住HTML+CSS视频教程分享给大家
    一款LAMP兄弟连最近录制的《HTML5视频教程》此款视频不错哟!上吧
    一款HTML5的基础视频教程分享给大家,希望大家好好学习啊。
    分享一款由杨中科老师主讲的javascript视频教程,属于.NET课程是视频教程
    今天给大家带来的视频教程是LINUX视频教程,希望大伙能在里面学到你想要的!
    周一好亲们!今天还给大家分享的是Oracle视频教程,来自于传智播客!
    零晨了,为大家分享一套很好的javascript视频教程!喜欢的拿走啊。
    最新为大家整理的一套android视频教程,有兴趣的便宜可以去看看!
    .net的基础学习,.NET视频教程
    yii2 (not set), GridView
  • 原文地址:https://www.cnblogs.com/Apollo/p/753088.html
Copyright © 2011-2022 走看看