如何使用特定用户名和&amp ;;启动IIS进程密码

时间:2011-05-16 19:36:09

标签: c# asp.net iis process system.diagnostics

我正在尝试从我们的内部网站运行应用程序。当我使用Process.Start("notepad");时,我可以看到记事本进程在我们的Web服务器中启动,并在应用程序池设置中提到了默认标识。

但我必须以特定的用户名和&amp ;;开始这个过程。密码。所以我试图运行这行代码

string password = "XXXXX";
System.Security.SecureString securePwd = new System.Security.SecureString();
foreach (char c in password)
{
    // Append the character to the password.
    securePwd.AppendChar(c);
}
Process.Start("notepad", "username", securePwd, "domain");

在这种情况下,我甚至看不到Web服务器中启动的任何记事本进程。执行的代码行,因为当我输入错误的密码时,我可以看到我的网页丢失了“错误的用户名或密码”错误。

2 个答案:

答案 0 :(得分:4)

感谢大家的回复。在这里,我得到了解决方案,现在我的流程从模拟用户开始。

http://support.microsoft.com/default.aspx?scid=kb;EN-US;889251

感谢。

答案 1 :(得分:0)

你写的代码对我来说很好。也许问题是

  

我甚至没有看到任何记事本过程

我会尝试以下

捕获ID并将其写入客户端,例如

Process note = Process.Start("notepad", "username", securePwd, "domain");
Response.Write( note.ID ); //Or whatever mechanism you prefer. 

然后登录到服务器并使用PowerShell查询进程

e.g。

PS C:\> get-process notepad  | Select ProcessName, Id 
ProcessName                                                                  Id
-----------                                                                  --
notepad                                                                    5512

Id应与写入客户端的内容相匹配