RunAs和C#进程 - 模拟用户凭据无法正常工作

时间:2014-02-27 16:17:40

标签: c# impersonation runas

我想创建一个简单的应用程序,以不同的凭据启动另一个应用程序。

这两个应用程序都在我的笔记本电脑上,而不在域上。我需要使用域用户凭据运行SSMS。

当我使用以下runas命令时,它可以工作:

runas.exe /netonly /user:domain\username /password:mypass "C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe"

以下代码无效:

        var file = @"C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe";
        var sspw = new SecureString();
        foreach (var c in "mypass" sspw.AppendChar(c);

        var proc = new Process();
        proc.StartInfo.UseShellExecute = false;
        proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(file);
        proc.StartInfo.FileName = Path.GetFileName(file);
        proc.StartInfo.Arguments = "";
        proc.StartInfo.Domain = "domain";
        proc.StartInfo.UserName = "username";
        proc.StartInfo.Password = sspw;
        proc.StartInfo.LoadUserProfile = true;

        proc.Start();

异常消息是:

Logon failure: unknown user name or bad password

0 个答案:

没有答案