我想以其他用户身份运行程序。我不想像其他用户一样只运行其中的一部分。我希望整个事情像其他用户一样运行。
我发现有两种方法可以实现
1。
runas /user:joe "C:\Program Files (x86)\CoolApp\CoolApp.exe"
2。
Process p = new Process("C:\Program Files (x86)\CoolApp\CoolApp.exe");
p.StartInfo.UserName = "joe";
p.StartInfo.Password = "joe-rulz-123";
p.Start();
第一种方法可能只是修改后的快捷方式,但需要设置密码(使用/savecreds
开关),我有点担心不得不再次设置密码。
第二种方法要求从一个单独的程序启动该程序,而可行的是我不需要的一个额外的活动部分。
使用模拟是一个非常流行的答案,但是我需要以用户身份运行整个应用程序,而不仅仅是其中一部分。
using (Impersonation.LogonUser(domain, username, password, logonType))
{
// do whatever you want as this user.
}
app.config或应用程序清单中没有设置可以让我对用户进行硬编码吗?