Hi Maniac (and others),
Old post, but still of value to me for it aims to do exactly what I need. I can't however get it to fully work and wondered if you (or anyone else) can help me further.
I can confirm the script on itself is working, as far as the searching for folders goes. I can also confirm the runline needs some tweaking.
What I got so far is this (I entered my foldernames into your script and started tweaking the runline):
Set objShell = CreateObject("WScript.Shell")
Set FSO = CreateObject("Scripting.FileSystemObject")
ShowSubfolders FSO.GetFolder("J:\7. IT\9. IT only\TEMP\Test\TEST VB SCRIPT")
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
if Subfolder.Name = "d" then
runline = "cscript.exe c:\windows\xcacls.vbs " & subfolder.Path & " /I COPY"
objShell.Run runline
End if
ShowSubFolders Subfolder
Next
End Sub
As you can see i added cscript.exe at the beginning, for that seems to be requiered by xcacls.vbs
I created a directory structure for testing purposes. When running the script, I see a certain number of cmd-windows popup and disappear again, 1 for each subfolder named "d" found, so the searchin for folders named "d" works. The runline however, does not do what I expect/want. It somehow seems to have a hard time dealing with subfolder.Path. The action (in this case remove inheritance, copy security settings) is not carried out.
When I enter the runline in a cmd-window and use a real directorypath instead of subfolder.path, inheritance is in fact removed and security settings are being copied.
Besides removing inheritance I as well want to add permissions; but first I got to get this working in it's simplest form, before I go deeper.
I already tried runline = "cscript.exe c:\windows\xcacls.vbs " & "subfolder.Path" & " /I COPY", thinking the spaces in the path might be the problem, to no avail.
J: is a network share. I as well tried the script locally on the dataserver (with edited folder paths), same result.
Any ideas/suggestions ?
Regards,
A.