c# 添加、删除、修改windows用户和组
2011-01-19 10:50
961 查看
/article/4633522.html
关于DirectoryEntry的Invoke调用的参数可以查看: http://msdn.microsoft.com/zh-cn/library/aa746340(en-us).aspx using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace JH.Framework.Security
{
/// <summary>
/// 计算机用户和组操作类
/// </summary>
public class UserAndGroupHelper
{
private static readonly string PATH = "WinNT://" + Environment.MachineName;
/// <summary>
/// 添加windows用户
/// </summary>
/// <param name="username">用户名</param>
/// <param name="password">密码</param>
/// <param name="group">所属组</param>
/// <param name="description">描述</param>
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());//将用户添加到某组
}
}
}
}
}
/// <summary>
/// 更改windows用户密码
/// </summary>
/// <param name="username">用户名</param>
/// <param name="newpassword">新密码</param>
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();
}
}
}
/// <summary>
/// 删除windows用户
/// </summary>
/// <param name="username">用户名</param>
public static void RemoveUser(string username)
{
using (DirectoryEntry dir = new DirectoryEntry(PATH))
{
using (DirectoryEntry user = dir.Children.Find(username, "User"))
{
dir.Children.Remove(user);
}
}
}
/// <summary>
/// 添加windows用户组
/// </summary>
/// <param name="groupName">组名称</param>
/// <param name="description">描述</param>
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();
}
}
}
/// <summary>
/// 删除windows用户组
/// </summary>
/// <param name="groupName">组名称</param>
public static void RemoveGroup(string groupName)
{
using (DirectoryEntry dir = new DirectoryEntry(PATH))
{
using (DirectoryEntry group = dir.Children.Find(groupName, "Group"))
{
dir.Children.Remove(group);
}
}
}
}
}
关于DirectoryEntry的Invoke调用的参数可以查看: http://msdn.microsoft.com/zh-cn/library/aa746340(en-us).aspx using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
namespace JH.Framework.Security
{
/// <summary>
/// 计算机用户和组操作类
/// </summary>
public class UserAndGroupHelper
{
private static readonly string PATH = "WinNT://" + Environment.MachineName;
/// <summary>
/// 添加windows用户
/// </summary>
/// <param name="username">用户名</param>
/// <param name="password">密码</param>
/// <param name="group">所属组</param>
/// <param name="description">描述</param>
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());//将用户添加到某组
}
}
}
}
}
/// <summary>
/// 更改windows用户密码
/// </summary>
/// <param name="username">用户名</param>
/// <param name="newpassword">新密码</param>
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();
}
}
}
/// <summary>
/// 删除windows用户
/// </summary>
/// <param name="username">用户名</param>
public static void RemoveUser(string username)
{
using (DirectoryEntry dir = new DirectoryEntry(PATH))
{
using (DirectoryEntry user = dir.Children.Find(username, "User"))
{
dir.Children.Remove(user);
}
}
}
/// <summary>
/// 添加windows用户组
/// </summary>
/// <param name="groupName">组名称</param>
/// <param name="description">描述</param>
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();
}
}
}
/// <summary>
/// 删除windows用户组
/// </summary>
/// <param name="groupName">组名称</param>
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#写的对系统用户和组操作的类(可以实现用户和组的添加、删除、修改)
- C#域控操作大全_节点删除_修改密码_添加用户
- linux添加超级管理员用户,修改,删除用户
- C# 添加,修改,删除文件夹/文件集合
- linux命令详解之useradd命令使用方法[linux下 添加用户、删除用户、修改用户密码、用户组管理]
- C#添加修改删除文件文件夹大全
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码,root密码丢失
- C#对DataGridView进行添加、修改、删除数据操作
- Oracle:添加用户,赋权,修改密码,解锁,删除用户
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
- MySql中添加用户,新建数据库,用户授权,删除用户,修改密码
- linux下添加,删除,修改,查看用户和用户组
- [转]C#(VB.NET)操作Windows自带的防火墙 之 添加/删除允许通过防火墙的例外程序
- Windows 如何在cmd命令行中查看、修改、删除与添加环境变量
- Linux中添加、修改和删除用户和用户组
- MySql中添加用户,用户授权,删除用户,修改密码
- php实现openfire用户同步添加,删除,修改
- windows开机自启动软件查询,添加,修改,删除