用户(经过身份验证的域管理员)应该能够从IIS(7.x)aspx(c#)页启动批处理作业(通常是exe文件)时,正确的方法是什么?这是一个内部网站。批处理作业必须以域管理员的身份在Web服务器上运行。网站池由AD网络服务或类似的受限帐户执行。从IIS启动批处理作业
我可以想到的方法(及其缺点): 1.使用System.Diagnostics.Process.Start与另一个帐户启动exe文件。此功能在IIS 7.x中被禁用,我如何允许它? 2.创建一个调度任务并调用预定任务api。这个非托管dll会给VS编译器提供警告,因为从托管代码调用是不安全的。 3.我想有一个更好的方法,因为以前的建议似乎不安全或强大。
很好的答案,谢谢。如果批处理作业应该在另一台服务器上执行,则从Windows服务中查询数据库也可以验证应用程序。 – 2010-10-28 12:40:59
我支持这个答案,因为从IIS运行批处理/可执行文件通常是一个糟糕的主意。它可能会危及安全性,稳定性和性能。如果您在单独的流程中完成实际工作,并控制允许或禁止哪些操作,则更节省成本。 – chiccodoro 2010-11-16 09:30:47