当前位置:  编程技术>.net/c#/asp.net

c# 对windows用户和组操作实例

    来源: 互联网  发布时间:2014-10-18

    本文导语:  代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.DirectoryServices;namespace JH.Framework.Security{    ///     /// 计算机用户和组操作类    ///     public class UserAndGroupHelper    {        private static...

代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace JH.Framework.Security
{
    ///

    /// 计算机用户和组操作类
    ///

    public class UserAndGroupHelper
    {
        private static readonly string PATH = "WinNT://" + Environment.MachineName;
        ///

        /// 添加windows用户
        ///

        /// 用户名
        /// 密码
        /// 所属组
        /// 描述
        public static void AddUser(string username, string password, string group, string description)
        {
            using (DirectoryEntry dir = new DirectoryEntry(PATH))
            {
                using (DirectoryEntry user = dir.Children.Add(username, "User")) //增加用户名
                {
                    user.Properties["FullName"].Add(username); //用户全称
                    user.Invoke("SetPassword", password); //用户密码
                    user.Invoke("Put", "Description", description);//用户详细描述
                    //user.Invoke("Put","PasswordExpired",1); //用户下次登录需更改密码
                    user.Invoke("Put", "UserFlags", 66049); //密码永不过期
                    //user.Invoke("Put", "UserFlags", 0x0040);//用户不能更改密码s
                    user.CommitChanges();//保存用户
                    using (DirectoryEntry grp = dir.Children.Find(group, "group"))
                    {
                        if (grp.Name != "")
                        {
                            grp.Invoke("Add", user.Path.ToString());//将用户添加到某组
                        }
                    }
                }
            }
        }
        ///

        /// 更改windows用户密码
        ///

        /// 用户名
        /// 新密码
        public static void UpdateUserPassword(string username, string newpassword)
        {
            using (DirectoryEntry dir = new DirectoryEntry(PATH))
            {
                using (DirectoryEntry user = dir.Children.Find(username, "user"))
                {
                    user.Invoke("SetPassword", new object[] { newpassword });
                    user.CommitChanges();
                }
            }
        }
        ///

        /// 删除windows用户
        ///

        /// 用户名
        public static void RemoveUser(string username)
        {
            using (DirectoryEntry dir = new DirectoryEntry(PATH))
            {
                using (DirectoryEntry user = dir.Children.Find(username, "User"))
                {
                    dir.Children.Remove(user);
                }
            }
        }
        ///

        /// 添加windows用户组
        ///

        /// 组名称
        /// 描述
        public static void AddGroup(string groupName, string description)
        {
            using (DirectoryEntry dir = new DirectoryEntry(PATH))
            {
                using (DirectoryEntry group = dir.Children.Add(groupName, "group"))
                {
                    group.Invoke("Put", new object[] { "Description", description });
                    group.CommitChanges();
                }
            }
        }
        ///

        /// 删除windows用户组
        ///

        /// 组名称
        public static void RemoveGroup(string groupName)
        {
            using (DirectoryEntry dir = new DirectoryEntry(PATH))
            {
                using (DirectoryEntry group = dir.Children.Find(groupName, "Group"))
                {
                    dir.Children.Remove(group);
                }
            }
        }
    }
}


    
 
 

您可能感兴趣的文章:

  • c# 启动和停止windows服务
  • c#获取windows桌面背景代码示例
  • 基于C#实现Windows服务状态启动和停止服务的方法
  • C#启动windows服务方法的相关问题分析
  • c# 在windows服务中 使用定时器实例代码
  • C#利用Windows自带gdi32.dll实现抓取屏幕功能实例
  • C#窗体编程(windows forms)禁止窗口最大化的方法
  • c#创建windows服务(Windows Services)详细步骤
  • c#中禁用windows的任务管理器的方法
  • C#获取Windows进程监听的TCP/UDP端口实例
  • c#创建windows服务入门教程实例
  • c#捕获windows关机事件的实现代码
  • 用C# 控制Windows系统音量的实现方法
  • C#中Timer的简单范例(System.Windows.Forms.Timer)
  • c#不使用windows api函数打开我的电脑和获取电脑驱动器信息
  • 用C#在本地创建一个Windows帐户(DOS命令)
  • C#调用windows api关机(关机api)示例代码分享
  • 基于C#实现的仿windows左侧伸缩菜单效果
  • C#编写Windows服务实例代码
  • C#启动和停止windows服务的实例代码
  • LINUX 或者Windows 如何保证一个进程只有一个实例在运行?如果是C语言,JAVA语言开发,又怎么样保证?
  • python在windows下实现备份程序实例
  • C#开发Windows服务实例之实现禁止QQ运行
  • Windows中使用计划任务自动执行PHP程序实例
  • 高仿Windows Phone QQ登录界面实例代码
  • Windows程序内部运行机制实例详解
  • C#编写的windows计算器的实例代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Windows7 更新操作步骤
  • linux 的命令操作和 windows的命令提示行有什么不同呢?? 为什么windows一般都不用命令提示行操作呢??
  • windows 7下打开或者关闭telnet客户端/服务端命令方法操作步骤
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • 高仿Windows Phone QQ登录界面实例代码 iis7站长之家
  • ARM系列开发板是不是一定要用LINUX操作系统。windows操作系统可以吗?
  • Linux和windows下用mysql c++ library操作Mysql数据库
  • 怎样在装有红帽操作系统的机子进行格式化,重新装Windows操作系统?
  • windows操作系统做服务器,客户端是unix操作系统,如何配置unix才能上网
  • windows 系统是否是多用户操作系统,如何理解“多用户操作系统”的“多用户”?
  • 在window 的操作系统里,应该有个软件可以实现,安装一个虚拟的linux操作系统
  • Windows2000和Linux双操作系统,Linux系统有问题,我直接把Linux分区删除后,Windows2000进不去了,怎么办???
  • 多操作系统(windows98windows2000linux)怎么按装最合适???
  • 如何安装Linux和Windows的双操作系统?
  • 在Windows操作系统下能否实现X-Client?
  • 怎样能简单的实现LINUX和WINDOWS操作系统并存。
  • 请问:网游服务器是在什么操作系统下运行啊,在有没有以windows的啊,
  • 高分相送,关于UNIX与WINDOW操作系统的问题,急!!!!!
  • 怎样在Windows里访问和操作Linux的文件呀?
  • 在x windows下,怎样进入文字操作界面??
  • 请问怎样在Windows里访问和操作Linux的文件呀?
  • java命名空间java.awt类window.accessibleawtwindow的类成员方法: window.accessibleawtwindow定义及介绍
  • 怎么在Linux下改windows系统文件啊,我把windows的BOOT.INI改了,windows启动不了
  • java命名空间java.awt类window的类成员方法: window定义及介绍
  • x-windows如何安装在linux(rdehat9)上面呢,是不是x-windows也分windows和linux版本的吗?
  • java命名空间java.awt.event类windowevent的类成员方法: window_activated定义及介绍
  • linux和windows串口问题!?linux向windows端发送,第一次write正常,继续write,windows接收到的就变成乱码了,这是什么原因??????
  • java命名空间java.awt.event类windowevent的类成员方法: window_deactivated定义及介绍
  • redhat7.3+window me +windows xp 共存,MBR在windows me 分区,现在要重裝windwos me,怎么办?
  • java命名空间java.awt.event类windowevent的类成员方法: window_gained_focus定义及介绍
  • 装了Linux和Windows,怎样默认进入Windows


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3