CFExecute not executing appcmd.exe

755 views Asked by At

I created the following code on a Cofdfusion server: file name: testWebsite.cfm

<cfoutput>
<cfset exec_command = "add site /name:""demosite"" /bindings:http://demosite.testserver.com:80 /physicalpath:""D:\Websites\demosite"" ">

<cfexecute name="C:\Windows\System32\inetsrv\appcmd.exe" arguments="#exec_command#" timeout="60" />

Done!
</cfoutput>

But when I execute this file e.g. http://www.demoserver.com/testcases/testWebsite.cfm

It just displays "Done!" without any errors, it doesn't execute the add site code.

Upon referring numerous documents, I checked the user rights under which both execute. The coldfusion service is running as a domain user called [email protected] I don't know how to check the same for IIS. So I checked the World Wide Publishing Service and IIS Admin Service - running as Local System.

Even if I log in as the administrator, I cannot add the webserver user to the inetsrv folder or the appcmd.exe located at C:\Windows\System32

Please help with any ideas/suggestions.

Thanks.

1

There are 1 answers

0
Scott Jibben On

If appcmd.exe is called from cmd.exe it should work:

<cfset vcCmdPath = "C:\Windows\system32\cmd.exe">
<cfset vcAppCmdArg = "/c C:\Windows\System32\inetsrv\appcmd.exe">
<cfset exec_command = "add site /name:""demosite"" /bindings:http://demosite.testserver.com:80 /physicalpath:""D:\Websites\demosite"" ">

<cfexecute name="#vcCmdPath#" arguments="#vcAppCmdArg# #exec_command#" variable="vcAppCmdResults" timeout="60"></cfexecute>

<cfoutput>#vcAppCmdResults#</cfoutput>

I prefer to use variables for cmd.exe and appcmd.exe.