如何为IIS 6分配有限的控制台程序访问权限?

时间:2010-10-07 23:41:54

标签: iis-6

假设我有一个简单的控制台程序来获取给定文件夹名称的文件列表。我想在运行在唯一Windows用户帐户(即不是默认Web用户帐户)的站点上使用PHP代码调用控制台程序。有没有一种方法可以让Windows帐户访问控制台程序,而无需对cmd.exe进行全面访问?我在Windows 2003 Server上使用IIS 6。

更新

这是我尝试使用popen()

的一些代码
$reg_cmd = '"C:\WINDOWS\system32\notepad.exe"' ;
$error = '';
$handle = popen($reg_cmd, 'r');

if (!$handle){
    $last_error = error_get_last();
    $error = $last_error['message'];
}
else{
    while (!feof($handle)) {
        $result .= fread($handle, 2096);
    }
}
pclose($handle);

$ error最终包含:

popen(“C:\ WINDOWS \ system32 \ notepad.exe”,r)[function.popen]:结果太大

OR

popen(“C:\ WINDOWS \ system32 \ notepad.exe”,r)[function.popen]:没有这样的文件或目录

我不知道为什么错误消息不一致。使用proc_open(),结果更不可能。

1 个答案:

答案 0 :(得分:0)

您可以使用proc_open()代替exec()吗?

从版本5.2.1 proc_open()不再要求您授予cmd.exe的访问权限。