我正在开发一个在服务器上安装软件的Web应用程序。
如果我登录属于特定组的用户然后以管理员身份运行install msi,我可以手动运行安装。
此特定组是本地管理员组的一部分。
我的应用程序池正在以Network_Service运行。
我是否冒充使用runAs动词?但后来我需要知道u / p作为用户和管理员的u / p ..我想
我正在使用System.Diagnostics.Process类。
System.Diagnostics.ProcessStartInfo oInfo = new System.Diagnostics.ProcessStartInfo(str);
oInfo.UseShellExecute = false;
oInfo.ErrorDialog = false;
oInfo.CreateNoWindow = false;
oInfo.RedirectStandardOutput = true;
Process p = System.Diagnostics.Process.Start(oInfo);
System.IO.StreamReader oReader2 = p.StandardOutput;
string sRes = oReader2.ReadToEnd();
oReader2.Close();
return sRes;
答案 0 :(得分:0)
您需要将UserName
和Password
属性设置为管理员帐户的登录凭据。
答案 1 :(得分:0)
稍后您无法更改正在运行的进程的用户上下文。我建议您使用Windows身份验证和模拟来确保Web请求作为经过身份验证的用户执行,此外您不必关心用户凭据。