在C#中以其他用户身份运行应用

时间:2016-03-28 20:16:28

标签: c# process.start processstartinfo

我有这个项目需要在两天内完成,我差不多完成了它。除了它的一部分需要启动另一个应用程序并将其作为不同的域用户运行。

到目前为止,我已经在代码中得到了这个:

Process proc = new Process();
System.Security.SecureString ssPwd = new System.Security.SecureString();

string password = "SomePassword";
for (int x = 0; x < password.Length; x++)
{
     ssPwd.AppendChar(password[x]);
}

ProcessStartInfo StartInfo = new ProcessStartInfo
{
   FileName = "Translink.exe",
   WorkingDirectory = @"C:\Program Files\Western Union\Universal-Release",
   UserName = "someuser",
   Domain = "somedomain",
   Password = ssPwd,
   UseShellExecute = false,
   RedirectStandardOutput = true,
   RedirectStandardError = true
};
proc = Process.Start(StartInfo);
proc.WaitForExit();

因此,当我使用和不使用用户和密码拨打电话时,例如: C:\ WINDOWS \ SYSTEM32 \ NOTEPAD.EXE 它运行在两种情况下,但每当我尝试从程序文件或程序文件(x86)运行该特定应用程序“Translink.exe”时,它根本不会运行或不运行runas。

我已经用尽了一些东西,我想我已经在stackoverflow中尝试了所有内容,因为还有其他类似的文章,但我认为我必须在某个地方出错。

0 个答案:

没有答案