CKabs
asked on
VBScript not working on 2008 R2 - Permission Denied
Hello All, I will make this quick. I had a script that was running on my old 2008 server that cleaned a public scans folder of files greater then 2 days old. We since migrated the server to a 2008 R2 server and noticed this script was not function any longer with the error at line 18 char 1 permission denied. The line contains the argument "objFile.delete". I have attached the script for review as well.
Any ideas why this stopped working?
Folderclean.vbs
Any ideas why this stopped working?
Folderclean.vbs
Permission denied (Error 5 imho) simply means that the account under which this script is running has not the NTFS permissions to delete files. Or after looking at your script reading one of the folders. Use AccessEnum and scan the folder hierarchy. Run it under the same account as your script.
ASKER
Hey ste5an, I am a domain admin. And this folder has read/write privilege for that group. I also confirmed this in AccessEnum. This is why I am so boggled by this...
What type of "scan"? Are there any open handles on those files? Maybe an exclusive one?
ASKER
A scan from a copy machine. There are no open handles on the files. Keep in mind, this script worked without issue prior to migrating to our new 2008 R2 server. No permissions changed during the migration.
Try running the script from an elevated command prompt by running cmd.exe "As Administrator" in the right-click menu. Run the script with
cscript C:\Scripts\FolderClean.vbs
and see if you still get the error.
Regards,
Rob.
cscript C:\Scripts\FolderClean.vbs
and see if you still get the error.
Regards,
Rob.
ASKER
Actually I had not tried running it from CMD. I tried that without elevation and it worked. Great! But what the heck is that about? Why would it work from CMD but not just by running the script. UAC is disabled BTW. Maybe you can give an explanation of why that worked...
Not entirely sure....unless it has something to do with the F drive mapping for your user session? If it's a scheduled task that you are running, chances are that the user running the task does not have the F drive mapped. You could try changing the F:\Public Scans reference to \\server\share\Public Scans and see if that helps.
Rob.
Rob.
That's a Windows OS security issue. No modification is needed for your script, just change permission on folder "F:\Public Scans" and your script should work fine.
- right click on folder "F:\Public Scans"
- select "Properties"
- click on the Security tab
- click Edit... button
- click Add... button
- enter "Everyone" and click OK
- select Everyone and ensure the Modify and Write permission are checked under Allow
- click Apply
- click OK
Besides the built-in "Everyone" user group, you can also designate a specific user to run your script and then add that specific user using the above procedures.
- right click on folder "F:\Public Scans"
- select "Properties"
- click on the Security tab
- click Edit... button
- click Add... button
- enter "Everyone" and click OK
- select Everyone and ensure the Modify and Write permission are checked under Allow
- click Apply
- click OK
Besides the built-in "Everyone" user group, you can also designate a specific user to run your script and then add that specific user using the above procedures.
...I agree with Rob...if drive "F:" is NOT a local drive, then the problem could simply be that the drive is not being mapped the moment that the script is running. And in Windows, drive mappings are stored in each user profile (not accessible to all users on the same machine).
ASKER
The script I posted was my original version where the "F" drive was local. The script I have on the migrated server reflects the new drive letter. Regardless, I reviewed the permissions numerous times to be sure I wasn't missing anything. I wasn't. They are correct. The script seems to run just fine from command line without making any permissions changes. Is this something that changed in 2008 R2? That maybe you cant run vbs files/scripts direct. They must be run through CMD? That seems silly.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
It is running from a local drive. Mysteriously this script is working when I double click it now. I have zero explanation for this. No changes were made that haven't been tested before posting. I am going to reconfig this in task scheduler and see if it works. Ill post back in a few days when I confirm this is working again and award points. Thanks for all the comments folks.
ASKER
Unfortunately none of the comments led me in the direction of an explanation for this. However I reward points for effort. Thanks for the assistance on this experts!