我想创建一个简单的应用程序,以不同的凭据启动另一个应用程序。
这两个应用程序都在我的笔记本电脑上,而不在域上。我需要使用域用户凭据运行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