关于使用php的exec()运行外部exe的IUSR权限

时间:2016-08-26 09:14:45

标签: windows batch-file iis cmd permissions

Hello Stack Overflowers,

我一直在为我的雇主制作一个项目,通过应用程序PrintShop Mail Suite 7将文档打印自动化为可用的PDF文件。

我想象的过程如下:

您使用PHP应用程序创建订单,该应用程序从MSSQL数据库中检索数据并继续保存。

同一个应用程序从持久化SQL条目生成临时XML文件,该文件可由应用程序PrintShop Mail与模板文件一起使用。

我的流程的下一步是从该应用程序运行的批处理文件,该文件在PHP应用程序文件夹的指定文件夹中生成PDF。

但是,我无法使用PHP的exec()命令运行批处理脚本。 批处理文件的构建如下:

cd E:\Printshop\Template

copy /y Reisbureau.psmd order_67.psmd

start "" "C:\Program Files (x86)\PrintShop Mail Suite 7\PrintShop Mail\PSMail.exe" order_67.psmd -db "exportFile.xml" -pt "PDFCreator"

如果我“按原样”运行此文件(导航到资源管理器中的批处理文件,运行它),它将按计划处理批处理。 如果PHP运行它,它似乎做前2行,并停在第3行,据说是由于权限问题。

检查哪个用户正在运行批处理后,结果是NT AUTHORITY\IUSR

但是,在将上述用户Full Control提供给批处理文件和应用程序PSMail.exe之后,它仍然拒绝处理批处理文件。

Permissions seem to be in place

我希望我已经为IIS和精通脚本的人提供了足够的信息来研究这个问题,并希望能够提供更多关于这个问题的见解。

亲切的问候,

Rik Bastiaens

0 个答案:

没有答案