运行命令和输入参数失败

时间:2014-09-13 08:05:05

标签: c#

我想根据这张图片将密码放在正确的位置。

我不知道如何把它放在那里请告知

我使用此方法启动cmd LINK

我用这个方法发送命令......

// start process
process.Start();
// send command to its input
using (StreamWriter sw = process.StandardInput)
    {
         if (sw.BaseStream.CanWrite)
         {
              sw.WriteLine("C:\\Windows\\System32\\runas.exe /user:xxxxxx\\xxxxx \"C:\\xxxx\\xxx.exe\"");
              sw.WriteLine("password");
              Console.ReadKey();
         }
    }
    //wait
    process.WaitForExit();

enter image description here

1 个答案:

答案 0 :(得分:2)

您可以向UserName提供PasswordDomainProcessStartInfo以使用不同的凭据运行exe

请注意需要SecureString

的密码
 process.StartInfo.UserName ="username";
 process.StartInfo.Domain = "domain"; 

 process.StartInfo.FileName = "YourExeFile.exe";
 process.StartInfo.WorkingDirectory = @"c:\path\where\exe\is\";
 process.StartInfo.UseShellExecute = false;

 // password    
 char[] chars = "password".ToCharArray();
 // Instantiate a new secure string.
 fixed(char* pChars = chars)
 {
    process.StartInfo.Password = new SecureString(pChars, chars.Length);
 }

 process.Start();

有了这个,就不需要使用runas和fiddle来处理容易出错的输入和输出流。