IIS normally uses the Internet Guest Account to service HTTP requests directed towards its port (80 by default). In some cases, web applications need to be executed and the processes generated by these web applications are run in the IIS application pool.
The applications, by default, run under the following privileges in the application pool:
- IIS 5.x - Local System Account
- IIS 6.0 - Network Service Account
For both IIS 5.x and 6, the default privileges assigned to web applications running in the application pool would suffice for regular operations of OSCE. However, if the applications are modified to run under the privilege of the bridging account (e.g. Internet Guest Account [IUSR_servername] ), then the OSCE CGI applications might produce an error similar to the following:
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:
HTTP/1.1 200 OK
Resolve this issue by doing the following:
- Check the W3SVC/CreateProcessAsUser property of the IIS metabase by running this command:
C:\> Cscript.exe c:\inetpub\adminscripts\adsutil.vbs GET
- The value of "true" means that the application pool processes is running under the account servicing the web request.
- The value of "false" means that the application pool processes are using the default privileges (local system or network service accounts).
The following message appears if the value is not set:
The parameter createprocessasuser is not set at this node.
Therefore, implicitly set the value to "false" as indicated by the next instruction.
- To change the value "true" back to the default value "false", use this command:
C:\> Cscript.exe c:\inetpub\adminscripts\adsutil.vbs SET w3svc/createprocessasuser "false"
If the issue still occurs: