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 e.tc 这样的简单命令时。它运行良好。

4

1 回答 1

1

我猜 Arguments 字符串末尾的转义反斜杠会杀死命令的 /add 参数

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

将是字符串

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

因此,请尝试在末尾删除 \\。

于 2015-06-12T12:52:43.423 回答