Hi, I am writing script that will refresh a users environment (desktop and start menu) with master copies. Using wsh and vb I have a routine to replace the folders and files; but when ran on Vista the routine returns a runtime error: code 800A0046 Permission denied. Can anyone advise what I am missing to get the script to work? The script is ran manually by an administrator user. To try and overcome the premissions problem I run the following* before trying to remove the old files: Code: Function SetPermissions(strChangeFolder, strUser, strRights) Dim strHome Dim intRunError, objShell, objFSO Set objShell = CreateObject("Wscript.Shell") Set objFSO = CreateObject("Scripting.FileSystemObject") If objFSO.FolderExists(strChangeFolder) Then intRunError = objShell.Run("%COMSPEC% /c Echo Y| cacls " & _ strChangeFolder & " /e /c /g " & _ strUser & ":" & strRights, 2, True) If intRunError <> 0 Then reply = MsgBox ("Error assigning permissions for user " & strUser & Chr(13) & _ " to folder: " & Chr(13) & _ strChangeFolder, _ 16,"Refresh") End If End If End Function The routine is passed the username of the administrator, and F as the required rights. Although the intRunError returns 0, the rights on the the target folder do not appear to be changed (looking through Windows Explorer). As a final sanity check I can complete the scripts tasks manually using Explorer. Doing this when I first attempt to open the target folder (eg the users desktop folder) Explorer first tells me I have no rights and asks me to confirm that I am an administrator, once this is done the rest of the tasks can be completed. * Code based on recommendations in the posting "How to set folder permissions with VBScript" on this forum (sorry - new to board so can't link yet) Windows version: Vista Business SP2 32-bit