如何在不使用模拟的情况下在C#应用程序中设置用户?

时间:2019-01-25 16:27:44

标签: c# windows-10 impersonation

我想以其他用户身份运行程序。我不想像其他用户一样只运行其中的一部分。我希望整个事情像其他用户一样运行。

我发现有两种方法可以实现

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或应用程序清单中没有设置可以让我对用户进行硬编码吗?

0 个答案:

没有答案