我正在尝试从我们的内部网站运行应用程序。当我使用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服务器中启动的任何记事本进程。执行的代码行,因为当我输入错误的密码时,我可以看到我的网页丢失了“错误的用户名或密码”错误。
答案 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应与写入客户端的内容相匹配