我想做的是当单击按钮时运行位于网络服务器桌面上的批处理文件。这是我到目前为止所拥有的。
ProcessStartInfo psi = new ProcessStartInfo("Notepad.exe");
psi.WorkingDirectory = @"C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Accessories";
psi.UseShellExecute = false;
psi.UserName = "administrator"; //username
psi.Password = secure; //secure string
var process = Process.Start(psi);
当我调试它时,它完全按照我想要的方式执行,但是当我访问 IIS (localhost:81) 上的站点时,批处理文件永远不会运行。我尝试了 ProcessStartInfo 和 Process 的许多不同变体,但没有成功。我已经测试了用户名和密码,它们也都是正确的。
我没有收到任何错误,按钮只是触发页面回发。
我已授予该文件 IUSR 和 IIS_IUSRS 权限,但仍然没有任何运行。我还删除了用户名和密码并将 UseShellExecute 设置为 true,但这也没有任何作用。
EDIT:
看起来每个人都认为它有一些权限。知道我需要做什么才能允许 IIS 打开该进程吗?
提前致谢!
只需将第三行更改为:
psi.UseShellExecute = true;
或者阅读这篇文章,它确实可以完成工作:
http://support.microsoft.com/default.aspx?scid=kb;EN-US;889251
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)