Link to home
Start Free TrialLog in
Avatar of Celevans
Celevans

asked on

Access Denied Wshshell.Exec (0x80070005) error when running asp code on XP

Executing asp script on W2000 with IIS 5.1 and all works fine. The script basically has the below in:

Set objShell = Server.CreateObject("WScript.Shell")
set WSX = objShell.Exec( COMMAND_FTP & strFile & " " & strHost )

The parameters basically run ftp.exe and pass a file to it with commands in it.

This works fine under W2000 but NOT on XP.

The PC running XP Prof is FAT32 and not NTFS, and the version of IIS is 5.1 as W2000. However getting the popular error:

Error Type:
Wshshell.Exec (0x80070005)
Access is denied

Have seen this error all over the internet but answers often just relate to NTFS security and permissions etc which do not apply.

Can anyone explain why I am getting this error. The  W2000 PC is fine but not XP.

I am putting this as a high priority question as I have spent 9 hours trying to figure this out. Think I may go back to UNIX.

Cheers Cel

Avatar of vnvk
vnvk
Flag of United States of America image

Di u check ur application on multiple XP systems or a single XP system?

I encountered a similar error some time back and my adminsitrator then tested the application on anoter XP with same confiig and it worked fine. IT was later found ot that the whole issue was with XP installation.

That might just one of the issues for you.
Avatar of fritz_the_blank
The only thing that I can think about is to set the IUSR and IWAM permissions to all directories involved with this code. Keep in mind, these accounts may not be included in the EveryBody account.

FtB
hey, yeah, thats again a problem.
you got to mention these explicityl as well as the NETWORK authority account. Even lack of permissions to that account is also creating issues.
Avatar of divt
divt

Try adding the IUSR_[ComputerName] account to the security tab for the folder that contains the relevant ASP file.  Then assign Read and Execute, Read, and List Folder Contents permissions to the account.

IUSR account is the account that is used by anonymous users to access your web site.

There is a similar question being answered here:

https://www.experts-exchange.com/questions/20386376/generate-zip-using-wshell.html
@divt --

Did you see my post above saying essentially the same thing?

FtB
FtB,

Yes, I agree the two posts mentioned IUSR.  Wording is different though, as my post mentioned security tab and specific permissions.  I'm sorry if my post is deemed duplicated.
Good point--you do have more detail there for certain.

FtB
Avatar of Celevans

ASKER

Hi All

I have resolved this. After double checking the XP disk config I could see that it had a FAT32 partition and a NTFS one, the NTFS being the major filesystem c:

I switched off simple file sharing etc and then put an audit policy onto the system32 directory against object access and ran my asp script.

I got the error as expected.

I then went to the event console where the object access issue is reported, and could see that the issue was that the IUSR user could not access ftp.exe which was being called by my code. So the error I was getting was a but misleading as there was not an issue with the wshshell etc itself but with the call to run ftp.exe being made by it.

Thankyou for your help and apologies for initial error on file system type.

If others have this issue then I would recommend using the secutity policy temporarily to identify the object that is really causing the issue.

Thanks again Cel
ASKER CERTIFIED SOLUTION
Avatar of fritz_the_blank
fritz_the_blank
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank you for taking the time to close out the question. If you have a minute, I would appreciate your changing the feed back from neutral to positive or deleting it altogether.

Thank you,

FtB
Hi fritz, not sure how I can change the feedback as e-e keeps telling me that I have already given feedback and so cannot do this.

I will change it to +ve as you answered the answered the question if you can let me know how to do this.

Thanks Cel