[英]How to give witadmin execution rights to a dotnet application on IIS?
[英]How to give IIS AppPool Desktop Rights
我需要帮助的操作是从Intranet网页在自己的服务器磁盘上执行EXE文件,而IIS在同一服务器上。 该网页使用业务层与给定参数一起执行ProcessStart。
当我从Web执行执行时,任务管理器向我显示该应用程序正在以用户的网页IIS AppPool启动。 几秒钟后,它被杀死了。 在数据库日志中,我可以看到;
The Microsoft Jet database engine cannot open the file '\\\\computer\\pathfile.ext'. It is already opened exclusively by another user, or you need permission to view its data.
没错 EXE工具依次从其他计算机加载文件。 这是一种特殊的行为,在从桌面使用该工具时,已对其进行了充分的研究和良好的工作。
我的目标/问题,
我希望此网络功能调用具有桌面权限。 有可能吗?
IIS AppPool使用帐户ApplicationPoolIdentity进行常规设置。 自从<= IIS6以来,我不知道IIS 7.5和Windows Server 2008 R2提出了多少安全模型,我似乎是“不明智的运气”。
我试图将应用程序池用户更改为NetworkService,管理员。
我试图将应用程序池设置为exec / read right
我什至试图让webapp运行带有对应用程序内部调用的批处理文件。
然后,我开始更改ProcessStart行为。 在这里,我不知道该怎么办。 我试图添加VERB符文。 在这里强制输入密码提示不是解决方案。 我试图模拟用户名/密码。 那里没有运气。 在一次在桌面命令窗口中使用/ savecred之后,我还尝试将runas / user:blabla作为参数添加到ProcessStart中。 那里没有运气。
也许这应该工作,但我只是不了解正确的属性设置。 我在下面添加了ProcessStart代码段,还添加了一些注释代码,让您了解我尝试了什么。
public string RunProcess(ApplicationType type, int param)
{
currentSelection = GetApplicationType(type);
ProcessStartInfo info = new ProcessStartInfo(currentSelection.Path);
info.CreateNoWindow = false;
info.UseShellExecute = true;
//info.UseShellExecute = false;
//info.ErrorDialog = false;
//info.UserName = "dummyUsEr";
//info.Password = this.SecurePwd("DummyPWd");
info.WindowStyle = ProcessWindowStyle.Normal;
info.Arguments = string.Format(" {0}", param.ToString());
using (Process exec = Process.Start(info))
{
try
{
exec.WaitForExit();
}
catch
{
}
}
return output;
}
编辑
为了清楚起见,也许可以帮助其他一些男孩/女孩浏览这个问题,我附上了密码生成的摘要,
protected System.Security.SecureString SecurePwd(string pwd)
{
SecureString securePwd = new SecureString();
foreach (char ch in pwd.ToCharArray())
securePwd.AppendChar(ch);
return securePwd;
}
我看到您已经尝试为过程启动模拟输入特定的用户名和密码,但是您说该过程访问另一台计算机上的文件,但是我看不到要指定域名的提示,这大概是您需要的访问远程文件?
像这样:
info.Domain = "domainname";
info.UserName = "dummyUsEr";
info.Password = "DummyPWd";
另外,this.SecurePwd()的作用是什么,您是否仅使用传递给它的直接密码字符串进行了尝试?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.