我有一个PHP脚本,可以通过Stop-Process
运行Powershell shell_exec()
命令。 PHP作为IUSR运行。当我运行脚本时,我收到访问被拒绝的错误消息。如果我使用管理员帐户在PowerShell中运行命令,则该命令将按预期运行。
如何授予IUSR在Powershell中执行Stop-Process
的功能?
最佳答案
我找不到能够授予IUSR特定执行Stop-Process
特权的解决方案,但是我可以通过将与终止脚本关联的“匿名身份验证”用户从IUSR
更改为Administrator
来解决此问题。
在IIS 8.5中,转到“站点”->“我的站点”->“文件夹名称”。在主面板上,单击“IIS”下的“身份验证”。右键单击“匿名身份验证”,然后单击“编辑”。
您可以在IIS应用程序的任何级别上设置“匿名身份验证”值。从站点级别到子目录级别。我建议仅在实际托管kill脚本的目录上将值从IUSR
更改为Administrator
。在整个站点上更改它可能会对应用程序的其他部分造成问题。