如何使用不同的用户运行IE并指定URL?

时间:2010-12-21 01:29:24

标签: c# process runas

我正在尝试创建一个控制台应用程序来替换批处理文件。批处理文件提示用户并运行以下代码...

RUNAS / user:USA \%usr%“C:\ Program Files \ Internet Explorer \ iexplore.exe%ServerPath%/%AppName%”

如何将其转换为C#代码?我基本上使用下面的代码。我声明了一个用户名和一个路径,但它始终使用我的Windows登录启动IE。我是否错误地使用了动词?我是否需要提供密码?若然,如何?

string sPath = ServerPath
ProcessStartInfo startInfo = new ProcessStartInfo(@"C:\Program Files\Internet Explorer\iexplore.exe");
startInfo.Verb = @"runas /user:USA\" + sUser;
startInfo.Arguments = sPath;
startInfo.UseShellExecute = false;
Process.Start(startInfo);

1 个答案:

答案 0 :(得分:2)

function SecureString MakeSecureString(string text)
{
  SecureString secure = new SecureString();
  foreach (char c in text)
  {
    secure.AppendChar(c);
  }

  return secure;
}

function void RunAs(string path, string username, string password)
{
  ProcessStartInfo myProcess = new ProcessStartInfo(path);
  myProcess.UserName = username;
  myProcess.Password = MakeSecureString(password);
  myProcess.UseShellExecute = false;
  Process.Start(myProcess);
}

RunAs(APPLICATION, USERNAME, PASSWORD);

支持fraser chapman's blog