用C#在本地创建一个Windows帐户(DOS命令)
其它方法见.用C#在本地创建一个Windows帐户(DirectoryServices)
http://yaosansi.com/blog/article.asp?id=917
在WinForm下该程序可写成: (已测试通过,需要以Administrator身份运行)
using System;
namespace eg
{
class test
{
static void Main()
{
//声明一个程序信息类
System.Diagnostics.ProcessStartInfo Info = new System.Diagnostics.ProcessStartInfo();
//设置外部程序名
Info.FileName = "net.exe";
//设置外部程序的启动参数(命令行参数)为test.txt
Info.Arguments = " user abc /add";
//设置外部程序工作目录为 D:\
Info.WorkingDirectory = "D:\\";
//声明一个程序类
System.Diagnostics.Process Proc ;
try
{
//
//启动外部程序
//
Proc = System.Diagnostics.Process.Start(Info);
}
catch(System.ComponentModel.Win32Exception e)
{
Console.WriteLine("系统找不到指定的程序文件。\r{0}", e);
return;
}
}
}
}
注:ASPNET帐户隶属于Users组,Users组对计算机没有完全控制权,涉及到系统管理的一些命令就无法使用了;至于为什么在进程中看不到是因为该条语句是以命令行运行的,要看效果的话只能在CMD下: net user 查看
添加管理员:
System.Diagnostics.Process.Start("CMD.exe","/c net user admin 123456 /add");
System.Diagnostics.Process.Start("CMD.exe","/c net localgroup administrators admin /add");
修改admin的密码为250:
System.Diagnostics.Process.Start("CMD.exe","/c net user admin 250 ");
删除管理员:
System.Diagnostics.Process.Start("CMD.exe","/c net user admin /del");
在CMD下就可以完全操作了,可以直接调用命令行工具如 System.Diagnostics.Process.Start("net user ...");
net user 用法
用于增加/创建/改动用户帐户
语法:
net user <username> [password or *] [/add] [options] [/domain]
net user <username] /delete /domain
username 帐号名
password 分配或改变密码
* 密码提示
/domain 在一个域中执行
/add 创建一个帐号
/delete 删除一个帐户
/active:[yes or no] 激活或停止一个帐号
/comment:"<text>" 加入描述性说明
/counterycode.nnn nnn 是系统编码. 0为系统缺省值
/expires:<date or never> 帐号到期时间.格式:月,日,年或日,月,年(格式由国家代码决定)
/fullname:"<name>" 帐号全名
/homedir:<path> 用户主目录路径
/passwordchg:[yes or no] 设置用户能否更改密码
/passwordreq:[yes or no] 设置用户是否需要密码
/profilepath:<path> 设置环境文件路径
/scriptpath:<path> 登录脚本路径
/times:<times or all> 用户可以登录的小时数
/usercomment:"<text>" 帐号说明信息
/workstations:<machine names> 允许登录的用户名. * 表示所有用户