从C#执行net user命令

5

我希望能够从C#执行net user命令。

下面是我的代码:

 ProcessStartInfo procStartInfo = new ProcessStartInfo("cmd.exe");
 procStartInfo.UseShellExecute = true;
 procStartInfo.CreateNoWindow = true;
 procStartInfo.Verb = "runas";
 procStartInfo.Arguments = "/env /user:" + "Administrator" +  "cmd /K \"net user ABC Admin123# /add\\\"";

 ///command contains the command to be executed in cmd
 System.Diagnostics.Process proc = new System.Diagnostics.Process();
 proc.StartInfo = procStartInfo;
 proc.Start();

当我运行程序时,命令提示符窗口以管理员模式打开并显示以下结果:
该命令的语法为:
NET USER
[username [password | *] [options]] [/DOMAIN]
         username {password | *} /ADD [options] [/DOMAIN]
         username [/DELETE] [/DOMAIN]
         username [/TIMES:{times | ALL}]


C:\Windows\system32>

当我运行像cd/、dir等简单命令时,它可以正常运行。

1个回答

1
我猜测你的Arguments字符串末尾的转义反斜杠会导致命令中的/add参数失效。
"cmd /K \"net user ABC Admin123# /add\\\""

将是字符串

cmd /K "net user ABC Admin123# /add\"

尝试移除末尾的 \\。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接