We help IT Professionals succeed at work.

permission denied involving CreateObject("Scripting.FileSystemObject")

razzzzer
razzzzer asked
on
Medium Priority
835 Views
Last Modified: 2010-08-05
code:

set fs = CreateObject("Scripting.FileSystemObject")
     set folder = fs.GetFolder(path)

     for each item in folder.SubFolders
       ListFolderContents(item.Path)
     next


This code has worked for about 6months or so on a windows 2003 server.  Any recent updates (security related maybe) that have changed the way permissions work?  I get a permission denied error on the  for each item line.

iusr machine account has read and write perms.

thanks
Comment
Watch Question

Commented:
>>iusr machine account has read and write perms.<<

on the folder? or in IIS?

i ask only because I never got IIS only permissions to work, I always had to make sure the folder  permissions were set as well....

Author

Commented:
on folder thru the file system

Commented:
you'll have to show us the rest of your code.

Author

Commented:
set fs = CreateObject("Scripting.FileSystemObject")
set folder = fs.GetFolder(path)

for each item in folder.SubFolders
     ListFolderContents(item.Path)
next


i get an error on the for each line... odd because this worked up until recently so i can only assume a windows update changed things or perhaps a change was made in the folder but i cannot see what that would have been....

Commented:
the whole code please.  Also, the error that comes up would help  ;-)

Author

Commented:
well its a sub like so:
<% sub ListFolderContents(path)

     dim fs, folder, file, item, url

     set fs = CreateObject("Scripting.FileSystemObject")
     set folder = fs.GetFolder(path)

     for each item in folder.SubFolders
       ListFolderContents(item.Path)
     next

     'Display a list of files.
       theimage = galleryroot & (rsGalleryDetail.Fields.Item("fldGalleryID").Value) & "/" & (rsGalleryDetail.Fields.Item("fldGalleryPic").Value)

     for each item in folder.Files
       url = MapURL(item.path)
        
         if url <> theimage then
       %>


the error:

Microsoft VBScript runtime error '800a0046'

Permission denied

/template_gallery_detail.asp, line 219


line 219 is the for loop

Author

Commented:
to be more precise line 219 is

for each item in folder.SubFolders

not sure because there is so much code and functions .. hope this is enough.. it just seems to me that the permissions are not correct on the folder that this code works on but .. the iusr accounts seems fine...
Commented:
and...are we sure that when you are calling the sub that you are passing a valid path?

and we sure that IUSR_machine name has full control on that folder?

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
adding a response.write(path) right before the for loop returns a correct path

IUSR_machine has full control on the WHOLE web folder currently

Author

Commented:
well even tho the check boxes were set for full permissions i went ahead and clicked on advanced permissions and check the second box "replace permission entries on all child objects with entries shown here that apply to child objects" and clicked apply and things seem to work now... i just hope i didnt open things up (made a security risk).  Big difference between a programmer and server admin ;)

Commented:
honestly..if this is an upload/download directory it should be the only one to have such permissions, and even then to prevent leeching, you may want to consider moving to be in the same level as the webroot and coming up with a ado.stream script to stream the files to the browser

i do it at http://www.portalfanatic.com/gallery/?pCat=27

even the thumbnails are stored at the same level as the webroot folder and are streamed to the page via a binary write.

just food for thought  :-)

glad I could help!
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.