Vraag : VB manuscript aan enble overerving op omslagen en dossiers

Hallo Deskundigen,
Im is manuscript aan enble overerving op omslagen en files

Here de kijken het manuscript dat door Chris-Dent, echter, de manuscript enkel werken aangaande dossiers werd geschreven, zodat zou het voor een deskundige in VBscript gemakkelijk zijn om het te veranderen om folders.

http://www.experts-exchang e.com/Secu rity/Operating_Systems_Security/Windows/Q_21953774.html#discussion
" codeBody "
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
expliciete Option Const FS_TREE_ROOT = „C:\Temp“ Const SE_DACL_PRESENT = 4 Const SE_DACL_AUTO_INHERITED = 1024 Const SE_DACL_PROTECTED = 4096 Const SE_SELF_RELATIVE = 32768 Const ENABLE_INHERITANCE = 1 Const COPY_AND_TURN_OFF_INHERITANCE = 2 Const REMOVE_AND_TURN_OFF_INHERITANCE = 3 ' 'Subroutines ' Sub ResetInheritance (strPath, intWhatToDoWithInheritance) Het schemerige objFileSecSetting, objSecurityDescriptor, objMethod, objInParam Schemerige intControlFlagsVar Het vastgestelde objFileSecSetting = objService.Get („Win32_LogicalFileSecuritySetting.Path= """ &_ Vervang (strPath, „\“, „\ \“) & """") objSecurityDescriptor objFileSecSetting.GetSecurityDescriptor Selecteer intWhatToDoWithInheritance van het Geval Geval ENABLE_INHERITANCE intControlFlagsVar = SE_DACL_PRESENT + SE_DACL_AUTO_INHERITED + SE_SELF_RELATIVE Geval COPY_AND_TURN_OFF_INHERITANCE, REMOVE_AND_TURN_OFF_INHERITANCE intControlFlagsVar = SE_DACL_PRESENT + SE_DACL_PROTECTED + SE_SELF_RELATIVE Uitgezocht eind objSecurityDescriptor.ControlFlags = intControlFlagsVar Reeks objMethod = objFileSecSetting.Methods_ („SetSecurityDescriptor“) Reeks objInParam = objMethod.inParameters.SpawnInstance_ () objInParam.Properties_.item („Beschrijver“) = objSecurityDescriptor objFileSecSetting.ExecMethod_ „SetSecurityDescriptor“, objInParam Sub van het eind Sub DoWorkOnFolders (strPath) Schemerige objWorkingFile objWorkingFolder, objWorkingSubFolder Reeks objWorkingFolder = objFileSystem.GetFolder (strPath) WScript.Echo „Werkend aan“ & strPath Voor elk objWorkingFile in objWorkingFolder.Files ResetInheritance objWorkingFile.Path, ENABLE_INHERITANCE Daarna Voor Elke objWorkingSubFolder in objWorkingFolder.SubFolders DoWorkOnFolders objWorkingSubFolder.Path Daarna Sub van het eind ' 'HoofdCode ' Schemerige objFileSystem, objLocator, objFile objService, objRootFolder, objFolder Reeks objFileSystem = CreateObject („Scripting.FileSystemObject“) Vastgestelde objLocator = CreateObject („WbemScripting.SWbemLocator“) Vastgestelde objService = objLocator.ConnectServer („. “, „wortel/cimv2“) Reeks objRootFolder = objFileSystem.GetFolder (FS_TREE_ROOT) Voor elk objFile in objRootFolder.Files ResetInheritance objFile.Path, ENABLE_INHERITANCE Daarna Vastgestelde objFile = niets Voor Elke objFolder in objRootFolder.SubFolders DoWorkOnFolders objFolder.Path Daarna Reeks objFolder = niets Reeks objRootFolder = niets Vastgestelde objService = niets Vastgestelde objLocator = niets Reeks objFileSystem = niets
Related Oplossingen: de overervingsvlag van de Change NTFS op files

Antwoord : VB manuscript aan enble overerving op omslagen en dossiers


De poging van Hmm… dit?

Chris
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
Expliciete optie

Const FS_TREE_ROOT = „C:\Temp“

Const SE_DACL_PRESENT = 4
Const SE_DACL_AUTO_INHERITED = 1024
Const SE_DACL_PROTECTED = 4096
Const SE_SELF_RELATIVE = 32768

Const ENABLE_INHERITANCE = 1
Const COPY_AND_TURN_OFF_INHERITANCE = 2
Const REMOVE_AND_TURN_OFF_INHERITANCE = 3

'
'Subroutines
'

Sub ResetInheritance (strPath, intWhatToDoWithInheritance)
      Het schemerige objFileSecSetting, objSecurityDescriptor, objMethod, objInParam
      Schemerige intControlFlagsVar

      Het vastgestelde objFileSecSetting = objService.Get („Win32_LogicalFileSecuritySetting.Path= """ &_
            Vervang (strPath, „\“, „\ \“) & """")
      objSecurityDescriptor objFileSecSetting.GetSecurityDescriptor      

      Selecteer intWhatToDoWithInheritance van het Geval
      Geval ENABLE_INHERITANCE
            intControlFlagsVar = SE_DACL_PRESENT + SE_DACL_AUTO_INHERITED + SE_SELF_RELATIVE
      Geval COPY_AND_TURN_OFF_INHERITANCE, REMOVE_AND_TURN_OFF_INHERITANCE
            intControlFlagsVar = SE_DACL_PRESENT + SE_DACL_PROTECTED + SE_SELF_RELATIVE      
      Uitgezocht eind
      
      objSecurityDescriptor.ControlFlags = intControlFlagsVar
            
      Reeks objMethod = objFileSecSetting.Methods_ („SetSecurityDescriptor“)
      Reeks objInParam = objMethod.inParameters.SpawnInstance_ ()
      objInParam.Properties_.item („Beschrijver“) = objSecurityDescriptor
      
      objFileSecSetting.ExecMethod_ „SetSecurityDescriptor“, objInParam
Sub van het eind

Sub DoWorkOnFolders (strPath)
      Schemerige objWorkingFile objWorkingFolder, objWorkingSubFolder

      'Van het de omslagniveau van het terugstellen de overerving
      ResetInheritance strPath, ENABLE_INHERITANCE

      Reeks objWorkingFolder = objFileSystem.GetFolder (strPath)

      WScript.Echo „Werkend aan“ & strPath
      
      Voor elk objWorkingFile in objWorkingFolder.Files
            ResetInheritance objWorkingFile.Path, ENABLE_INHERITANCE
      Daarna

      Voor Elke objWorkingSubFolder in objWorkingFolder.SubFolders
            DoWorkOnFolders objWorkingSubFolder.Path
      Daarna
Sub van het eind

'
'HoofdCode
'

Schemerige objFileSystem, objLocator, objFile objService, objRootFolder, objFolder

Reeks objFileSystem = CreateObject („Scripting.FileSystemObject“)
Vastgestelde objLocator = CreateObject („WbemScripting.SWbemLocator“)
Vastgestelde objService = objLocator.ConnectServer („. “, „wortel/cimv2“)

Reeks objRootFolder = objFileSystem.GetFolder (FS_TREE_ROOT)

Voor elk objFile in objRootFolder.Files
      ResetInheritance objFile.Path, ENABLE_INHERITANCE
Daarna      

Vastgestelde objFile = niets

Voor Elke objFolder in objRootFolder.SubFolders
      DoWorkOnFolders objFolder.Path
Daarna

Reeks objFolder = niets

Reeks objRootFolder = niets
Vastgestelde objService = niets
Vastgestelde objLocator = niets
Reeks objFileSystem = niets
Andere oplossingen  
 
programming4us programming4us