用C#在本地创建一个Windows帐户(DOS命令)
程序员文章站
2023-09-04 09:59:19
其它方法见.用c#在本地创建一个windows帐户(directoryservices)
http://yaosansi.com/blog/article.a...
其它方法见.用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> 允许登录的用户名. * 表示所有用户
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> 允许登录的用户名. * 表示所有用户
上一篇: 用C#把文件转换为XML的代码
下一篇: 常用类之TCP连接类-socket编程